Hallo Forum,
ich versuche gerade meine Extension 2-sprachig anzulegen.
Die Default-Sprache (Deutsch) funktioniert wunderbar.
Sie wird über ein Fontend-Plugin eingebunden. Dafür gehe ich auf Web > Liste und lege ein neuen Datensatz mit meiner Extension an die ich dann später über Plugin in die Seite einbinde.
Jetzt hätte ich gern, dass ich schon im Datensatz den ich unter Liste erstelle ein Auswahlfeld habe in dem Ich auf Englisch "switchen" kann. Bzw. den selben Datensatz englisch Anlegen kann.
Geht das überhaupt so?
Ich habs geschafft, das Auswahlfeld für die Sprachen einzubauen - jedoch denk ich, dass ich damit nur festlegen kann ob der Inhalt dann deutsch oder englisch ist.
Oder täusch ich mich da?
Ich könnte auch über die Liste ein deutsches Element anlegen und ein englisches Element extra und diese dann über das Plugin auf der Seite dann jeweils zuweisen - jedoch wäre es besser wenn das Deutsche und Englische direkt nebeneinander liegen und man den Inhalt über den Button ins englische kopieren kann. So wie das bei allen Standardseiten von Typo ist wenn man 2 Sprachen hat.
Geht das denn? Kann mir da jemand weiter helfen?
Würd mich sehr über eine Antwort freuen!
Viele Grüße
Dani
Extension Fontend-Plugin mehrsprachig
Mir ist leider nicht ganz klar, was du genau erreichen willst.
Aber allgemein läuft das so, lege im Kickstarter deine Datenbanktabelle für deine Records an, setze die Checkbox dafür, dass deine Records übersetzbar sein sollen. Dann legtst du deine Datensätze in irgendeinem Sysfolder an. Damit du deine Records übersetzen kannst, musst du für jede Sprache ein Record vom Typ "Alternative Seitensprache" im Sysfolder anlegen. Dann kannst du deine Records übersetzen.
Im php / sql Code deiner Extension musst du dann anhand der aktuellen Sprache des Frontends ($GLOBALS['TSFE']->sys_language_uid) die korrekten Records aus deinem Sysfolder selektieren und ausgeben.
Normalerweise reicht es wenn du die labels über die entsprechenden Funktionen nutzt.
Eigene Datensätze sollten Mehrsprachigkeit unterstützen. (Siehe Vorposter)
Alles weitere wird automatisch geregelt (über TYPO3).
Ich kenne es jedenfalls so, dass man nicht für das Plugin die Sprache auswählt, wäre auch unnötig.. Die Sprache wird im FE dann ausgewählt, vom Besucher. Meistens dann über ein Sprachmenü. Die Extension, bzw. das Plugin, liest die aktuelle Sprache aus und nutzt die entsprechenden Übersetzungen aus der locallang-Datei.
Hi ihr 2,
vielen Dank für die Antwort!
Was ich machen will ist einen Tooltip einsetzen bzw. mehrere mit verschiedenen Inhalten. Und diese sollten dann eben auf der englischen Seite auch englisch sein.
Aber das hier von aemka:
"musst du für jede Sprache ein Record vom Typ "Alternative Seitensprache" im Sysfolder anlegen"
beantwortet auf jeden Fall meine Frage. Ich muss also für beide Sprachen Records anlegen und nicht nur einen in dem ich dann über den Sprachauswahlbutton wechseln kann.
Vielen Dank euch beiden!!!
Du kannst den Fluid-Helper f:translate (http://wiki.typo3.org/Fluid#f:translate) nutzen. Dort gibst du den Key an. Für die Keys legst du in der locallang-Datei (/typo3.org/documentation/document-library/core-d ... ) die Übersetzungen an. (Kurze Zusammenfassung 😉 )
Innerhalb von PHP kann auch die statische Methode genutzt werden: Tx_Extbase_Utility_Localization::translate(Key, EXTKEY)
Ach ok...mit Fluid hab ich mich noch nicht sonderlich viel beschäftigt. Werd ich wohl mal nachholen 🙂
Eine Frage hätte ich noch...vielleicht kannst du mir da auch noch weiter helfen.
Ich verwende in der Extension eine Flexform die ich mit:
$TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY.'_pi1'] ='pi_flexform';
t3lib_extMgm::addPiFlexFormValue($_EXTKEY.'_pi1', 'FILE:EXT:'.$_EXTKEY . '/flexform.xml');
und
$this->pi_initPIflexForm();
$this->code = $this->pi_getFFvalue($this->cObj->data['pi_flexform'], 'what_to_display', 'sDEF');
eingebunden hab. Bevor ich die Sprache angelegt habe ging das. Doch seit dem ich die Extension mit dem Kickstarter bearbeitet habe funktioniert dieses nicht mehr.
Ich muss wohl dazu sagen, das die Extension ursprünglich nicht von mir ist, sondern ich die mir nur angepasst habe.
Hast du eventuell eine Idee woran das liegt?
Ich weiß das der Kickstarter keine Flexforms unterstützt. Aber eigentlich sollte das doch keine Probleme geben oder?
Viele Grüße
Dani
tja....Cache löschen...hehe, darauf fall ich auch immer wieder rein!!! 😉
danila schriebtja....Cache löschen...hehe, darauf fall ich auch immer wieder rein!!! 😉
Das bedeutet das dein Problem mit den Flexforms gelöst ist?
Ja herzlichen Dank! 🙂