Zum Inhalt springen

Fluid-Template lädt nur Default-XLIFF-Datei

Erstellt am 6. Oktober 2015 · 4 Antworten · letzte Antwort am 17. März 2017

Tags: Fluid, Frage

psychoschlumpf ·

Ich baue in TYPO3 7.5 ein Fluid-Template und möchte String mehrsprachig machen.

Ich habe ein fileadmin/template/language/locallang.xlf:

<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.0">
     <file source-language="de" datatype="plaintext" original="messages" date="2015-10-04T18:20:51Z" product-name="customtemplate">
        <header/>
        <body>
      <trans-unit id="template.kontaktformular" xml:space="preserve">
        <source>Kontaktformular</source>
      </trans-unit>
  </body>
     </file>
</xliff>

Und eine fileadmin/template/language/en.locallang.xlf:

<xliff version="1.0">
     <file source-language="de" target-language="en" datatype="plaintext" original="messages" date="2015-10-04T18:20:51Z" product-name="customtemplate">
             <header/>
             <body>                 
      <trans-unit id="template.kontaktformular" xml:space="preserve">
        <source>Kontaktformular</source>
        <target>Contact Form</target>
      </trans-unit>     
             </body>
     </file>
</xliff>

Im Fluid-Template habe ich:

<f:translate key="LLL:fileadmin/template/language/locallang.xlf:template.kontaktformular" />
# Standard-Sprache Deutsch
config {
  sys_language_uid = 0
  language = de
  locale_all = de_DE
  htmlTag_langKey = de-DE
}

# Englisch
[globalVar = GP:L = 1]
config.sys_language_uid = 1
config.language = en
config.locale_all = en
config.htmlTag_langKey = en
[global]

Rufe ich die Seite im Frontend auf, wird in beiden Sprachen der deutsche Text ausgegeben. Scheinbar wird also die englische Sprachdatei nicht berücksichtigt.

Was mache ich falsch?

gochilla ·

Konntest du das Problem lösen? Wenn ja, wie ist die Lösung? Wir stehen gerade vor dem gleichen Problem und es sieht ja wohl so aus das Englisch immer die Standardsprache sein muss?!

gochilla ·

Folgende Lösung funktioniert zumindest, falls es mal jemand benötigt:
1.) Wir definieren den Pfad zur Sprachdatei im Setup-Typoscript:

lib.langFile = TEXT
lib.langFile.value = LLL:fileadmin/templates/engesser-marketing/xml/locallang.xlf

2.) Nach Abfrage der Sprache ändern wir einfach den Pfad zur Sprachdatei entsprechend ab

[globalVar = GP:L=2]
    config {
        sys_language_uid = 2
        language = en
        locale_all = en_EN
        htmlTag_langKey = en
    }
    lib.langFile.value = LLL:fileadmin/templates/engesser-marketing/xml/en.locallang.xlf
[global]

3.) Im Fluid-Template kann man das z.B. wie folgt nutzen:
<button>
<f:translate key="{f:cObject(typoscriptObjectPath:'lib.langFile')}:labeltext" />
</button>
Eiknarf ·

Bin grad drüber gestolpert und habe mich erinnert, hatte das schon mal ... Englisch ist immer default. Wenn man locallang.xlf und de.locallang.xlf nutzt geht's, locallang.xlf und en.locallang.xlf nicht.