2017-06-19 47 views
0

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

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

回答

0

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网站(和翻译的形式)的基本知识。

+1

谢谢您。这份文件与TYPO3的大部分文件一样,似乎是由那些已经非常熟悉该系统的人撰写的。它提到添加一个指向你自己的翻译文件的键: 20:'EXT:my_site_package/Resources/Private/Language/locallang.xlf' 但是文档没有提及包含密钥的配置文件位于文件系统或XLF所在的位置。 似乎还没有对XLF文件或链接进行描述,而让读者试图找到此版本的TYPO3的正确文档。 – user3201785

+0

我添加了一些更多的链接和背景信息。希望这会帮助你。 –

4

这里一个例子,像我

对于前端的翻译添加到您的TypoScript设置:页面上使用

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

“my_site_package”必须是一个已经存在并激活TYPO3扩展

然后进行下my_site_package /配置/ YAML/CustomFormSetup.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' 

一个YAML文件,并有一定的翻译文件my_site_package /资源/私人/语言

默认(EN):my_site_package /资源/私人/语言/ 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/Resources/Private/Language/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

for Subject电子邮件整理

finisher.Email.subject(解决办法,目前正在)

finisher.EmailToReceiver.subject(应该是解决方案buggy, not working at the time of writing

这个答案是没有可能的帮助下从manuel-selbach在TYPO3松弛:

+0

伟大:我很努力地为submitButton和Finisher搜索了一下! – BastianBalthasarBux