繁体   English   中英

您如何在 TYPO3 CMS 8.7 LTS 中翻译 EXT:Form forms?

[英]How do you translate EXT:Form forms in TYPO3 CMS 8.7 LTS?

我是 TYPO3 的新手,从 8.7 LTS 开始。 我创建了几个带有默认“表单”扩展名的 forms。 我的网站要求将其中一些 forms 翻译成最多 5 种其他语言。 到目前为止,我找到的唯一解决方案是复制 forms 然后为每个翻译都有一个单独的表格,但这似乎不是最好的解决方案,因为从长远来看它会导致表格分歧。

是否可以直接在YAML文件中添加替代翻译或者指向一个应该使用的翻译文件?

这是一个示例,就像我在页面上使用的那样:

对于前端翻译,请将其添加到您的打字稿设置中:

plugin.tx_form {
  settings {
    yamlConfigurations {
        100 = EXT:my_site_package/Configuration/Yaml/CustomFormSetup.yaml
    }
  }
}

“ my_site_package”必须是现有的并激活的TYPO3扩展

然后在my_site_package / Configuration / Yaml / CustomFormSetup.yaml下制作一个Yaml文件

TYPO3:
  CMS:
    Form:
      prototypes:
        standard:
          formElementsDefinition:
            Form:
              renderingOptions:
                translation:
                  translationFile:
                    # default translation files for the frontend
                    10: 'EXT:form/Resources/Private/Language/locallang.xlf'
                    20: 'EXT:my_site_package/Resources/Private/Language/locallang.xlf'

并在my_site_package / Resources / Private / Language中有一些翻译文件

默认值(en):my_site_package / Resources / Private / Language / locallang.xlf

<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.0" xmlns:t3="http://typo3.org/schemas/xliff">
    <file source-language="en" datatype="plaintext" original="messages" product-name="tamods">
        <header/>
        <body>
            <trans-unit id="ticketbestellung.element.objekt.properties.label" xml:space="preserve">
                <source>Object</source>
            </trans-unit>
        </body>
    </file>
</xliff>

德语(de):my_site_package /资源/私人/语言/de.locallang.xlf

<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.0" xmlns:t3="http://typo3.org/schemas/xliff">
    <file source-language="en" target-language="de" datatype="plaintext" original="messages" product-name="tamods">
        <header/>
        <body>
            <trans-unit id="ticketbestellung.element.objekt.properties.label" xml:space="preserve">
                <target>Objekt</target>
            </trans-unit>
        </body>
    </file>
</xliff>

德语(fr):my_site_package /资源/私人/语言/fr.locallang.xlf

<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.0" xmlns:t3="http://typo3.org/schemas/xliff">
    <file source-language="en" target-language="fr" datatype="plaintext" original="messages" product-name="tamods">
        <header/>
        <body>
            <trans-unit id="ticketbestellung.element.objekt.properties.label" xml:space="preserve">
                <target>Objet</target>
            </trans-unit>
        </body>
    </file>
</xliff>

这是我使用的形式的Yaml:

renderingOptions:
  submitButtonLabel: Senden
type: Form
identifier: ticketbestellung
label: Ticketbestellung
prototypeName: standard
renderables:
  -
    renderingOptions:
      previousButtonLabel: 'previous Step'
      nextButtonLabel: 'next Step'
    type: Page
    identifier: page-1
    label: Page
    renderables:
      -
        defaultValue: ''
        type: Text
        identifier: objekt
        label: Objekt
        properties:
          fluidAdditionalAttributes:
            placeholder: Objekt
            required: required
        validators:
          -
            identifier: NotEmpty

一些翻译密钥,很难找到:

提交按钮

element.Form.renderingOptions.submitButtonLabel element.ticketbestellung.renderingOptions.submitButtonLabel

电子邮件装订器中的主题

finisher.Email.subject (解决方法,也可以在版本8.7.5之前运行)

finisher.EmailToReceiver.subject直到版本8.7.5之前 ,解决方案都是错误的

没有TYPO3 Slack中的manuel-selbach的帮助,这个答案是不可能的。

TYPO3 CMS 8 LTS引入的新表单框架的文档(正在进行中)。

您可以在这里找到翻译文档: https : //docs.typo3.org/typo3cms/drafts/code.tritum.de/TYPO3.CMS/Form_Documentation/Concepts/FrontendRendering/Index.html#translation

这是您注册此文件的方式: https : //docs.typo3.org/typo3cms/drafts/code.tritum.de/TYPO3.CMS/Form_Documentation/Concepts/Configuration/Index.html#yaml-registration

在这里,您可以找到有关“什么是网站包”的信息: https : //de.slideshare.net/benjaminkott/typo3-the-anatomy-of-sitepackages

在这里,您可以找到有关扩展架构的更多信息: https : //docs.typo3.org/typo3cms/CoreApiReference/ExtensionArchitecture/Index.html

大多数表单文档(第一个和第二个链接)已经被翻译成英语,但是某些部分仍然是德语。

我知道这是很多东西,但是阅读之后,您将具有有关“如何使用TYPO3建立网站(以及翻译表格)的基本知识。

<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.0" xmlns:t3="http://typo3.org/schemas/xliff">
    <file source-language="en" target-language="fr" datatype="plaintext" original="messages" product-name="tamods">
        <header/>
        <body>
            <trans-unit id="ticketbestellung.element.objekt.properties.label" xml:space="preserve">
                <source>Object</source>
                <target>Objet</target>
            </trans-unit>
        </body>
    </file>
</xliff>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM