Eigene T-Funktion (tString)
am 22.05.2009 - 09:42 Uhr in
Hallo zusammen,
für jemanden der sich mit PHP auskennt mag die frage blöd klingen, ich stelle sie aber trotzdem mal. :)
Ich platziere teils Text direkt im Code, das lässt sich auf Grund des mehr oder minder komplexen Designs nicht lösen. Vornehmlich geht es dabei um Titel, oder Überschriften. Da die Seite aber zweisprachig ist brauche ich auch diese in zwei Sprachen.
Leider bin ich überfordert bei der Frage wie ich in Drupal das Ganze so hinterlegen kann das ich es eben auch übersetzen kann. Ich nutze für die Sprachen nicht i18, sondern Localizer, da bin ich von Anfang an besser mit klar gekommen. Im Grunde habe ich mittlerweile auch alles übersetzt, wobei ich teils etwas im Core hantieren musste um diverse Sachen in tStrings zu packen.
Anyway, wie kann ich nun eigene t-Funktionen, bzw. Strings hinterlegen? Ich habe das ganze im Code (themed node-template) so hinterlegt:
<?php
print t('My Comment');
?>
Das ist natürlich quatsch, woher soll Drupal wissen das sich das da befindet. Auch wenn ich mich ausdrücke wie ein Vollidiot hoffe ich das irgendjemand versteht was ich meine. :)
Danke vielmals im Voraus,
Genesis
- Anmelden oder Registrieren um Kommentare zu schreiben
Power of Drupal ;)
am 22.05.2009 - 09:55 Uhr
naja eigentlich ist es ganz einfach, sobald man einmal die Funktion aufgerufen hat, wird der entsprechende String in der Datenbank gespeichert, und ist ab daan übersetzbar :)
Es funktioniert probiers aus.
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.
Dann mache ich irgendwas
am 22.05.2009 - 10:18 Uhr
Dann mache ich irgendwas falsch. :/
Ich habe eine node, genauer node-bilder.tpl.php, innerhalb dieser platziere ich
<?php
print t('mytesttext');
?>
Any suggestions? :|
da ergeben sich später die nächsten Probleme
am 22.05.2009 - 10:43 Uhr
Ich nutze für die Sprachen nicht i18, sondern Localizer
wobei ich teils etwas im Core hantieren musste um diverse Sachen in tStrings zu packen
Man kommt eben an dem i18n Modul nicht vorbei.
Deine Scheu oder Bequemlichkeit Dich in i18n einzuarbeiten schafft Dir nun die ersten Probleme.
Wenn ich es richtig verstanden habe hast Du den Core gehackt. Naja, da ergeben sich später die nächsten Probleme.
------------------------
Quiptime Group
Da geht noch was.
Hmm, definiere "später".
am 22.05.2009 - 10:54 Uhr
Hmm, definiere "später". Die Seite ist im Grunde fertig, und basiert lediglich auf einem einzigen (CCK) Content Typen, alles andere ist für den User nicht zugänglich. Mittlerweile ist alles übersetzt und lässt sich problemlos über das Menü umswitchen.
Mag sein das ich Probleme beim Update bekomme, aber das ist eh irrelevant, weil das Projekt in ein bestehendes Netzwerk integriert wird, und wir User, Bilder, usw. abgleichen, und da ist Updaten sowieso erstmal essig ist. Es wurde lediglich an zwei stellen Text in eine T-Funktion gefasst, damit sie fürs Übersetzen zugänglich ist.
Mit i18n habe ich mich durchaus beschäftigt, bin aber wie gesagt mit dem Localizer besser klar gekommen. Ob du mir deswegen Bequemlichkeit, oder Scheu unterstellen musst weiß ich nicht. Immerhin gibt es diese beiden Module und nirgendwo steht geschrieben das ich eine Fehler begehe wenn ich Localizer verwende, ich habe auch keine Warnschilder beim Download gesehen.
Anyway, irgendwelche Tipps wegen meines Problems?
Keine weiteren Hinweise. Es
am 22.05.2009 - 11:13 Uhr
Keine weiteren Hinweise. Es wurde bereits alles von dereine gesagt.
Mit spaeter meine ich updates. Es sind keine Vorwuerfe. Ich muss es lediglich in Worte fassen.
------------------------
Quiptime Group
Da geht noch was.
PS vlt irgendwie cache und
am 22.05.2009 - 12:43 Uhr
PS
vlt irgendwie cache und cron leeren oder so, dann sollte der Text auch in der normalen Drupal Übersetzung erscheinen.
Drupal Core macht das auch nicht anders!.
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.
Keine Chance, habe noch mal
am 22.05.2009 - 13:27 Uhr
Keine Chance, habe noch mal verschiedene Dinge ausprobiert, Text geändert, Position geändert... nichts, er findet den String nicht.
Ich nutze z.B. MagicTabs, wo die Bezeichnung, etc ja in der template.php hinterlegt werden. Wenn ich da eine Änderung vornehme und die Datei hochlade, dann findet er den String direkt nach einem Seiten reload.
Steh da echt aufm Schlauch. Ich glaub ja das es so funktioniert, aber aus mir unerfindlichen Gründen klappt es hier nicht.
Bin da echt ratlos. :/
Okay, habe im offiziellen
am 23.05.2009 - 14:44 Uhr
Okay, habe im offiziellen Forum den richtigen Tipp bekommen, falls noch mal jemand das Problem hat:
Ich habe die Node in der falschen Sprache betrachtet, dadurch wurde der String nicht übernommen. Einmal die Sprache geswitched und siehe da String gefunden, und 4 Stunden Aufregen und Kopfschmerzen für die Hose. ;)
Kein Vorwurf hier, war meine eigene Dummheit, konnte ja hier keiner wissen. Wie sagt Markus Kafka:
Hamma wieder was gelernt!
Einen schönen Samstag noch,
Genesis