Texte aus Extensions Anpassen, Internationalisierung mit locallang
Die meisten Extensions werden mit bestimmten vordefinierten Texten augeliefert, welche angepasst oder im schlimmsten Fall erst auf Deutsch übersetzten.
Nicht empfehlenswert aber teils notwendig: Sprachanpassungen per Template
Bruto Force Herangehensweisen diese Texte zu ändern ziehen leider viele Nachteile mit sich. So werden Texte relativ häufig direkt im Template angepasst. Man benötigt dann aber ein eigenes Template pro Sprache und hat bei späteren kleineren Anpassungen immer das Problem, dass man auch jedes einzelne Sprachtemplate ändern muss. Außerdem können Kodierungsprobleme auftreten. Wenn die Extensions so programmiert ist, dass sich Texte nicht anders anpassen lassen muss man diesen Weg leider gehen. In diesem Fall sollte man aber alle Umlaute durch HTML Sonderzeichen ersetzen um Kodierungsprobleme zu verhindern (ä -> ä ö -> ö ü -> ü ß -> ß )
Niemals: localconf.xml anpassen
Bei schnellen Anpassungen von Texten gerät man schnell in die Versuchung, diese dort zu ändern, wo sie definiert wurde: bei den meisten Extensions in typo3conf/ext/my_extensionkey/pi1/localconf.xml. Hierbei werden jedoch Änderungen im Fall eines späteren Extensionsupdates überschrieben. AUßerdem wirken sich die Änderungen global aus, auch wenn eventuell die Ändeurng nur an einer bestimmten Stelle vorgenommen werden soll. Daher:
Sprachrelevante Texte der localconf einer TYPO3 Extension per TypoScript ändern
Man kann sämtliche Texte aus der Localconf.php einer Extension per TypoScript ändern. Dazu öffnet man die locallang.xml der Extension, deren Texte man anpassen möchte. Meist ist diese zu finden unter typo3conf/ext/my_extensionkey/pi1/locallang.xml. Hier schaut man nach, wie der entsprechende Text bezeichnet wurde.
Wenn ich zum Beispiel den Text "Home" der Extension ab_linklist ändern möchte, so finde ich diesen in der locallang.xml. Dort sieht er in etwa so aus:
<label index="ll_home">Home</label>
Der Bezeichner wäre hier wiederum "ll_home". Dieser Text wiederum wird für die Sprache "default" und andere Sprachen, zum Beispiel "de" für Deutsch definiert.
Möchte man nun diesen Text ändern, so ginge das (hier exemplarisch für die Extension ablinklist) so:
plugin.tx_ablinklist_pi1 {
_LOCAL_LANG.default {
ll_home = Links
ll_report_link_broken = This link is broken!
ll_li_broken_thx = Ok, I'll take care of it.
}
_LOCAL_LANG.de {
ll_home = Links
ll_report_link_broken = Defekten Link melden
ll_li_broken_thx = Link als Defekt gemeldet
}
}
Möchte man nur die deutsche Version der Texte verwenden, muss man natürlich auch nur diese anpassen.
Deutsche Sprachanpassungen bei tt_news laufen analog:
plugin.tt_news {
_LOCAL_LANG.de {
pi_list_browseresults_prev =
pi_list_browseresults_next = |
pi_list_browseresults_first = « Anfang
pi_list_browseresults_last = Ende »
pi_list_browseresults_page = |
more = [...weiterlesen]
}
}
Vielen Dank an avs, http://www.a-vista-studios.de/avs/blog/ für diesen Code.
Und zum Beispiel auch bei Indexed Search.
plugin.tx_indexedsearch {
_LOCAL_LANG.de {
pi_list_browseresults_prev = <<
pi_list_browseresults_page =
pi_list_browseresults_next = >>
backToList = Zurück zu: %s
}
}
Möchte man weitere Texte austauschen, schaut man einfach in der locallang.xml der entsprechenden Extension nach, wie der Text benannt wurde.
Kommentar hinzufügen