[TYPO3-german] In eigener Extension Languagetags nutzen?

Sebastian Jurk info at top-info.org
Fri May 20 12:48:45 CEST 2011


Am 20.05.2011 08:12, schrieb Bernd Wilke:
> On 05/19/2011 07:13 PM, Sebastian Jurk wrote:
>> Welche Typo-Funktion ist denn dafür zuständig in einem String die
>> Languagecodes mit den entsprechenden Strings zu ersetzen?
>>
>> Ich habe in meiner Extension es einfach mal so probiert:
>>
>> echo
>> "LLL:EXT:celo_messeteilnehmer/locallang_db.xml:tt_content.pi_flexform.sheet_appearance";
>>
>>
>> allerdings erscheint dann nur dieser String ohne ersetzt worden zu sein.
>> (Ich arbeite mit Echo weil ich das einfacher finde. Mit     ob_start();
>> und $content = $content.ob_get_contents();)
> 
> autsch

autsch für den ersten oder zweiten Teil? Das erste war nur ein Versuch
ob Typo den von einer Extension übergebenen Content danach noch nach
Languagetags durchsucht und ersetzt.
Oder das zweite? Wenn ja siehst du da einen Nachteil?

>> Es muss also wohl vorher
>> durch eine Typofunktion die diese Tags ersetzt... könnte man
>> idealerweise direkt am Ende machen wenn alles an $content übergeben
>> wird. Nur welche Typo-Funktion macht das?
> 
> schau dir mal die Ausgabe des Kickstarters (nicht extension builder!) an.

$this->pi_loadLL(); und einzelne Werte dann abfragen mit $this->pi_getLL

Meintest du das?

>> Und gibt es eine Möglichkeit die Sprachdatei für eine Extension
>> umzustellen? Weil im Moment sind in verschiedenen Dateien in der
>> Extension immer feste Pfade für die Languagekürzel angegeben. In tca.php
>> usw usf. Die weisen alle auf locallang_db.xml. Theoretisch müsste ich
>> alle Links umschreiben um eine andere Datei zu nehmen. Ein Backenduser
>> könnte aber dann keine andere Datei mehr wählen es sei denn ich würde
>> alle diese Pfade bei Vorhandensein einer eigenen Datei überschreiben.
>> Was ziemlich viel Aufwand wäre.
> 
> diese Dateien werden vom Entwickler ausgewählt. ein BE-User hat da
> nichts abzuändern. Wenn in einer Installation andere Sprachen, andere
> Texte benutzt werden sollen kann man das mit TypoScript konfigurieren
> (sofern der Entwickler keinen Mist gemacht hat: Keys mit Punkten machen
> Ärger) [¹]

Du meinst also wenn ein Backenduser seine eigene Übersetzung definieren
will dann kann er das mit einer externen ts-Datei tun. Die könnte er
dann im Flexform der Extension auswählen und überschreibt die originalen
Worte? Macht mehr Sinn als das Original ganz zu ersetzen...

Allerdings weiß ich immer noch nicht wie ich das in dem Content nutzen
kann den meine Extension erzeugt.

Der Backenduser hat die Möglichkeit die Ausgabe der Extension über CSS
und HTML-Template-Datei anzupassen. Diese gibt er im Backend an. Ich
habe bei mailformplus geschaut und die nutzen im Template Marker ala
###LLL:salutation### Allerdings sind die Übersetzungen nicht von Typo
sondern kommen aus einem Array welches in php in der Extension angelegt
wird. Ich würde aber lieber den Typostandard nutzen.
Geht das direkt durch Typo? Ansonsten könnte man Kürzel wie
###LLL:salutation### aus dem Template durch die Extension erkennen
lassen und durch eine Extensionfunktion und $this->pi_getLL die
Übersetzung finden wenn der Backenduser eine Übersetzung per eigener
TS-Datei hinterlegt hat. Aber das geht doch bestimmt auch ohne
Extension-eigene Funktion oder?

>> Gibt es trotzdem eine Möglichkeit dem Backenduser die Auswahl der
>> Sprachdatei zu überlassen so dass im Backend der User eine eigene
>> Sprachdatei auswählen kann und alle Sprachkürzel die zur Extension
>> gehören (auch die im HTML-Template der Extension) automatisch geändert
>> werden? Eigentlich komisch dass hier vom Kickstarter mit festen
>> Dateiangaben gearbeitet wird. Das könnte man sicher auch in eine
>> Variable auslagern was dann wiederum von vorn herein leichter änderbar
>> ist.
> 
> in einer Sprachdatei sind mehrere Sprachen enthalten, die Sprache ist
> auswählbar
> 
> 
> [ ] du hast das Konzept der Sprachdateien in TYPO3 verstanden
> 
> bernd
> 
> [¹] http://pi-phi.de/61.html



More information about the TYPO3-german mailing list