Wie der Titel schon sagt: wie macht man eine Extension Mehrsprachig und zwar so das ich einen deutschsprachigen Inhalt eingeben kann und auch einen englischsprachigen.
Ich habe mir eine Extension erstellt die wunderbar läuft. Nun möchte ich aber dass wenn ich einen Datensatz anlege ich den auch in zB einer englischen Fassung eingeben kann?
Wie macht man sowas? Wenn es nicht zu viel verlangt ist bitte nicht nur Stichworte geben. Ich habe meine jetzige extension nach dem Video von Kaspar gemacht und hab schon das eine oder andere Tutorial durchgearbeitet aber pfündig bin ich noch nicht geworden.
da gibt es mehrere möglichkeiten... zb. kannst du dir für jede sprache einen neuen datensatz anlegen, und die dann irgendwie verknüpfen. oder wenn du nur zwei sprachen hast, kannst du das auch fix in einem datensatz unterbringen. du müsstest dazu halt für jeden text zwei felder in der DB erstellen... kommt immer darauf an, was du genau machen willst und unter welchen umständen. da gibt es keine "allgemeinlösung"...
Ich habe es jetzt erstmal so gelöst, dass ich einen 2 SysOrdner erstellt habe mit den Übersetzten Datensätzen. Die Extension habe ich dann mit diesem Ordner verknüpft.
Ich dachte mir aber die Extension so zu erstellen das ich den übersetzten Text direkt in den einzelnen Datensatz übernehme. Nur das ich dann natürlich falls ich mehr Sprachen habe ich mit der Extension an die Grenze des unpraktischen stossen würde.
Ich glaube die erstere Lösung wäre somit die bessere Wahl oder?
am besten Du schaust Dir mal die tt_news an, dort sieht man gut, wie man lokalisierte Daten speichert und ausliest 😉
Das ist ne gute Idee die ich auch schon mehrmal versucht hab nach zu vollziehen, nur leider steige ich durch den Code nicht durch.
Denn wenn man sich mal das Resultat was der Kickstarter heute fabriziert mit dem Code der tt_news vergleicht ist es nicht jedem gegeben da durch zu steigen auch wenn ich mittlerweile 2 Bücher durch hab Praxiswissen und Kochbuch Typo3. Mein Problem ist mit einfachen Worten beschrieben, ich brauche eine Schritt für Schritt Anleitung um alles nachvollziehen zu können. Nicht um es nachzuschreiben oder abzuschreiben sondern um es richtig zu begreifen. Soll ja Menschen geben die das so ganz ohne hilfe können ;-) Leider gehöre ich nicht dazu. Und noch ein leider. Ich habe dieses Jahr im April erst mit Typo3 begonnen, berufsbedingt, und bin super fastziniert was Typo3 kann nur musste ich bei meinen Recherchen feststellen, dass um viele Sachen nen Geheimnis gemacht wird als ginge es um den Grahl oder es wird nur mit einem Stichwort geantwortet. Naja genug des rumheulens #paralyzed#
Hi Backara,
ich kann das nachvollziehen, aber ein Geheimnis wird da nicht drum gemacht. Eigentlich ist alles ausführlich auf typo3.org dokumentiert. Nur das die es nicht hinbekommen, die Seite userfreundlich zu gestalten und die Suche meist nicht das bringt was man sucht, das war vorher besser.
eigentlich ist aus der tt_news dieser Abschnitt relevant, wo die Datensätze ausgelesen werden:
// sys_language_mode defines what to do if the requested translation is not found
$this->sys_language_mode = $this->conf['sys_language_mode']?$this->conf['sys_language_mode'] : $GLOBALS['TSFE']->sys_language_mode;
$row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res);
// get the translated record if the content language is not the default language
if ($GLOBALS['TSFE']->sys_language_content) {
$OLmode = ($this->sys_language_mode == 'strict'?'hideNonTranslated':'');
$row = $GLOBALS['TSFE']->sys_page->getRecordOverlay('tt_news', $row, $GLOBALS['TSFE']->sys_language_content, $OLmode);
}
Auf Dauer empfehle ich eh, nicht den generierten Code des Kickstarters zu nehmen sondern einen eigenen - die Methodik ist ja doch immer gleich.