2017-06-19 41 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