OPF LANG

Bei Problemen/Anregungen mehrsprachiger Webseiten.

OPF LANG

Beitragvon Peter.Bickel » 24. Nov 2005, 08:39

Hi Leute,

wie benutzt man eigentlich das Addon opf lang?

Ich definiere dort also ein Schnipsel mit dem Namen "Text_deutsch" und dem Ersetzungstext. Und dann? Wie binde ich das in die Seite ein?

Bei
echo $Text_deutsch
tut sich nix.

Wahrscheinlich steh ich auf dem Schlauch ...

Peter.
Benutzeravatar
Peter.Bickel
 
Beiträge: 1642
Registriert: 25. Jan 2005, 20:17
Wohnort: Schleswig-Holstein

Beitragvon Thomas.Blum » 24. Nov 2005, 10:01

Hej Peter,

ganz einfach.

Du schreibst zum Bspl ###ANSAGE### ins Template. Im OPF-Lang Addon schreibst du dann unter "Replace Value" -> ###ANSAGE### und unter Value den Text der ersetzt werden sollte in Abhängigkeit der Sprache.

Somit könnte dann auf der deutschen Seite "Hallo Peter" und auf der englischen "Hello Peter" stehen.

vg Thomas
blumbeet - web.studio - Dresden - 0351 217 6225
webbude - Blog über CSS.XHTML.REX
Ein Wunschzettel
Benutzeravatar
Thomas.Blum
Entwickler
 
Beiträge: 4670
Registriert: 24. Aug 2004, 21:11
Wohnort: Dresden

Beitragvon Peter.Bickel » 24. Nov 2005, 10:45

Ah, ok. Also genau andersrum als ich dachte.
Danke.

Noch eine Frage und zwei Anregungen an die Entwickler:

Frage:
Bringt es irgendwelche Nachteile (oder gar Vorteile, Performance z.B.), sprachenabhängige Meldungen mit diesem Addon zu machen statt mit einer switch case-Schleife, wie ich das bisher grmacht habe:
Code: Alles auswählen
switch ($REX['CUR_CLANG']) {
case '0':
$meldung = 'einige Wörter';
  break;
case '1':
$meldung = 'some words';
  break;
}


Anregungen:
1. Das Hinzufügen einer weiteren Sprache leichter machen (ich musste ziemlich lange suchen.)
2. Den auszugebenden Text (Feld Value) als Textarea anlegen, damit man auch längere Passagen anlegen kann. Hab ich bei mir nun gemacht, scheint ebenso zu funktionieren.
3. Bei der Listenausgabe die Sprachen zusammenfassen, so dass die Liste bei vielen Einträgen nicht so lang wird (analog zu den Seiten, wo man die zu edierende Sprachen über ein Submenü umschalten kann.)

Ansonsten - tolle Sache, das.

Schönen Tag noch,
Peter.
Benutzeravatar
Peter.Bickel
 
Beiträge: 1642
Registriert: 25. Jan 2005, 20:17
Wohnort: Schleswig-Holstein

Beitragvon Maidenaustria » 7. Aug 2006, 14:52

Hallo tbaddade!

Irgendwie funktioniert das bei mir nicht...

Muß man eigentlich vonr und nach dem zu ersetzenden Text die ### schreiben? Erkennt das Addon dann erst den Inhalt?

Wenn ich das so mache steht bei meiner Forums-Navi dann auf der Linken Seite: ###unterkategorien### im Frontend... :P
Maidenaustria
 
Beiträge: 254
Registriert: 7. Mär 2006, 09:43
Wohnort: Österreich

Beitragvon Maidenaustria » 11. Aug 2006, 18:32

Maidenaustria hat geschrieben:Hallo tbaddade!

Irgendwie funktioniert das bei mir nicht...

Muß man eigentlich vonr und nach dem zu ersetzenden Text die ### schreiben? Erkennt das Addon dann erst den Inhalt?

Wenn ich das so mache steht bei meiner Forums-Navi dann auf der Linken Seite: ###unterkategorien### im Frontend... :P


OK ich hab's geschnallt...
Hab den Replace Value mit dem New Value verwechselt.... :)
Maidenaustria
 
Beiträge: 254
Registriert: 7. Mär 2006, 09:43
Wohnort: Österreich

Beitragvon Markus.Staab » 12. Aug 2006, 12:45

Hi,

Nochmal zur Aufklärung für andere, die diesen Thread lesen:
Es gibt keine speziellen begrenzungszeichen in diesem Addon.

Das Addon sucht 1:1 nach diesen Werte, wie man sie hinterlegt. Wenn man also auch werte ohne "###" o.ä. umschließt, kann es auch passieren, dass man im content der Seite irgendwelche worte ersetzt...

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Text ersetzen auch im Backend?

Beitragvon helpy » 9. Nov 2006, 10:23

Hallo,

Ich teste gerade das OPF LANG Addon.

Ich versuche ein Modul mehrsprachig hinzubekommen (z.B. Default-Texte von Textefeldern). Aber leider erstezt das AddOn keine Texte im Backend. Gibt es eine Möglichkeit, das AddOn auch für das Backend zu nutzen?

cu, helpy
helpy
 
Beiträge: 52
Registriert: 27. Sep 2006, 08:59

Beitragvon Markus.Staab » 9. Nov 2006, 13:27

Hi helpy,

suche in der config.inc mal nach dem Ersetzungsmechanismus-
Dies wird bestimmt mit einem

if(!$REX['REDAXO'])

oder

if($REX['GG'])

umhült sein...

Einfach raus damit.

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon helpy » 9. Nov 2006, 14:34

Danke schon mal für den Hinweis.

Das funktioniert ... mit einem riesen Nachteil :-( ...

Im Addon selbst wird diese Ersetzung auch durchgeführt, und dann kann ich die Ersetzungsliste nicht mehr bearbeiten.

Dann probiere ich jetzt noch aus, ob ich den Ersetzungstext direkt in das Modul einbauen kann.

Denkst Du, dass ich die config.inc.php von opf_lang einfach im Modul inkludieren kann?

cu, helpy


PS: Wofür steht eigentlich "GG"?
helpy
 
Beiträge: 52
Registriert: 27. Sep 2006, 08:59

Beitragvon Peter.Bickel » 9. Nov 2006, 14:49

Hi,

ich hatte diese Problem auch mal bei einem Projekt, und da ich das damals mit der Hilfe von Jan gemacht hatte, weiß ich nicht mehr, was er genau daran geschraubt hatte.

Anhand des Datums kann ich aber sehen, dass wir die config-Datei und die index-Datei im Pages-Verzeichnis geändert hatten. Wenn Du mir ne PM mit Deiner Email-Adresse schreibst, kann ich Dir die beiden Dateien mal zuschicken und Du kannst mal testen, ob's damit klappt.

Schöne Grüße,
Peter.
Benutzeravatar
Peter.Bickel
 
Beiträge: 1642
Registriert: 25. Jan 2005, 20:17
Wohnort: Schleswig-Holstein

Beitragvon helpy » 9. Nov 2006, 15:03

Danke :-)

Ich hab' Dir meine Mail-Adresse geschickt!

Ich hab' es inzwischen auch hingekriegt, aber evt. kann ich da noch etwas lernen bzw. meinen Code überprüfen.

cu, helpy
helpy
 
Beiträge: 52
Registriert: 27. Sep 2006, 08:59

Beitragvon helpy » 9. Nov 2006, 15:57

Danke Peter für die Dateien,

In den Dateien ist zusätzlich die Anpassung auf Redaxo 3.2 eingebaut worden, damit das auch mit Mehrfachinstalltionen mit einer Datenbank funktioniert ... aber diese Änderung hatte ich bereits selbst gemacht.

Und die Lösung, dass das Addon zwar im Backend, aber nicht im Addon selbst ausgeführt wird, ist eleganter gelöst! Ich habe da einfach eine Variable eingebaut, die ich im Modul dann auf true gesetzt habe, damit wurde das Addon ausschließlich dort ausgeführt, wo ich das Modul als Block eingefügt hatte.

Letztlich habe ich es aber ganz anders gelöst :-) Ich habe im Modul folgende Funktion eingefügt:
Code: Alles auswählen
  function opf_get($tag)
  {
    global $REX;
    $gv = new sql;
    $gv->setQuery("select name from ".$REX['TABLE_PREFIX']."opf_lang where clang='".$REX['CUR_CLANG']."' and replacename='".$tag."'");
    if ( $gv->getRows() == 1 )
    {
      return $gv->getValue("name");
    }
    return $tag;
  }


Und mit opf_get("####Platzhalter####") hole ich mir ganz einfach den Text aus der Datenbank.

Zur Zeit habe ich diese Funktion sowohl in der Moduleingabe als auch in der -ausgabe eingefügt.

cu, helpy
helpy
 
Beiträge: 52
Registriert: 27. Sep 2006, 08:59

Beitragvon Markus.Staab » 9. Nov 2006, 17:16

Hi helpy,

wenn du das ganze nur im Backend verwenden möchtest, solltest du dir vielleicht ein I18N Objekt anlegen, welches auf von dir definierte Sprachdateien verwendet... Sonst musst du wg jedem Key die Datenbank abfragen und das macht bekanntlich langsam

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Beitragvon helpy » 9. Nov 2006, 17:45

kills hat geschrieben:Hi helpy,

wenn du das ganze nur im Backend verwenden möchtest, solltest du dir vielleicht ein I18N Objekt anlegen, welches auf von dir definierte Sprachdateien verwendet... Sonst musst du wg jedem Key die Datenbank abfragen und das macht bekanntlich langsam

Gruß,
Markus


Danke Markus, für den Tipp. Das werde ich mir mal ansehen.

... mal nach guck ...

Dazu muss ich dann für jede Sprache eine Sprachdatei erzeugen. Alle Sprachdateien kommen dann in ein Verzeichnis!

Vor-/Nachteile:

  • Wenn die Texte direkt im Modul sind, dann kann man das Modul viel leichter weitergeben, aber sie werden dann doch recht groß ... und wenn man Texte sowohl in der Modulein- und -ausgabe braucht, dann muss ich die Texte an zwei Stellen warten.
  • Bei Sprachdateien, muss ich ein neues Verzeichnis anlegen und die Dateien weitergeben. Bei der Distribution (z.B. im Wiki) müssen auch die Sprachdateien mitgegeben werden und eine Beschreibung, wo diese zu "installieren" sind ... ja genau wo? ... vielleicht in einem Unterordner von ./files ... das würde den Redaxo-Kern nicht verändern.
  • Sprachabhängige Texte mit AddOn OPF_LANG verwalten. Ja, da sind dann zusätzliche Datenbankabfragen nötig. Und die Installation des Moduls wird noch komplizierter.


So, nun hab' ich wieder etwas neues gelernt. Ich bastle ja erst seit ein paar Wochen an der ersten Homepage mir Redaxo.

Da werde ich wohl noch I18N ausprobieren ...

Aber mal grundsätzlich eine Frage:

Was ist der übliche (beliebteste) Weg bei mehrsprachigen Modulen die Texte zu hinterlegen?


cu, Guido

[FRAGE zu den bbCodes]

Warum funktioniert der list-Tag hier im Forum nicht?
Habt Ihr das Style-Sheet so geändert, dass keine List-Punkte angezeigt werden?
Warum?

[/FRAGE zu den bbCodes]
helpy
 
Beiträge: 52
Registriert: 27. Sep 2006, 08:59

Beitragvon Markus.Staab » 9. Nov 2006, 18:49

Hi Guido,

helpy hat geschrieben:Da werde ich wohl noch I18N ausprobieren ...

Aber mal grundsätzlich eine Frage:

Was ist der übliche (beliebteste) Weg bei mehrsprachigen Modulen die Texte zu hinterlegen?


Module werden normalerweise nicht Mehrsprachig gehalten... Wenn mehrsprachig, dann Englisch und fertig...

Fürs Frontend eben dann mit OPF_LANG..
Bisher gibts noch keinen besseren Ansatz.

Gruß,
Markus
Benutzeravatar
Markus.Staab
Entwickler
 
Beiträge: 9781
Registriert: 29. Jan 2005, 14:50
Wohnort: Aschaffenburg/Germany

Nächste

Zurück zu Mehrsprachigkeit [R3]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast