Seite 1 von 1

mi18n - modulübersetzung nur Teilweise korrekt

Verfasst: Mi 15. Apr 2009, 07:27
von StilgarBF
Hallo,

vorweg: ich hatte diese Frage vorher versehentlich unter 4.6.x gepostet - verwende aber 4.8.10. - sorry dafür

ich habe ein Modul welches ein erweitertes Suchformular umsetzt.
Eine Labels sind dabei hart verdrahtet, ein Teil kommt aus der DB. Die direkt im Modul geschriebenen Texte sollten per mi18n übersetzt werden - das klappt auch, aber ab einem gewissen Punkt werden dann auf der englischen Seite die Deutschen Texte angezeigt. - Das obwohl die Übersetzungen vorhanden sind und also die Textabschnitte auch richtig erkannt wurden.
Funktioniert:

Code: Alles auswählen

<legend><b><?php echo mi18n("Qualifikation"); ?></b></legend>
jetzt erfogt eine Datenbankabfrage die die variablen $arrAllCategories, $tempArray, $intLines, $i nutz
dann der nächste zu übersetztende Text:

Code: Alles auswählen

<legend><b><?php echo mi18n("Besch&auml;ftigungsart"); ?></b></legend>
der bleibt immer deutsch. genau genommen klappt von dem Punkt aus keine einzige Übersetzung mehr.

Kann bei diesem Datenbankzugriff etwas schief laufen wodurch das das Wissen um die aktuelle Sprache verloren geht?
Woher genau kennt mi18n die aktuelle Sprache? kann ich das manuell setzen / steuern?

Stil

Re: mi18n - modulübersetzung nur Teilweise korrekt

Verfasst: Mi 15. Apr 2009, 08:54
von StilgarBF
ich habe nun herausgefunden, dass der Fehler durch das abfeuern eines SQL-Requests ausgelöst wird
$strQuery = "SELECT t.strText AS translText, qc.lngQualificationCategoryID"
. " FROM tblQualificationCategory AS qc"
. " INNER JOIN tblTranslation AS t ON ( t.strTable='tblQualificationCategory' AND t.lngKey=qc.lngQualificationCategoryID AND t.lngLang=".$lang." )"
. " INNER JOIN tblQualificationCaption AS ca ON (qc.lngQualificationCaptionID = ca.lngQualificationCaptionID)"
. " WHERE qc.flgActive = 'true' AND ca.flgActive = 'true' AND qc.flgSearchSelection = 'true' "
. " ORDER BY ca.intPosition, qc.intPosition";
$db_connection->query( $strQuery );
Die Datenbank gegen die diese Anfrage läuft ist eine andere als die Contenido-DB. Contenido-Daten und andere Daten sind also getrennt.
Die Connection wird in diesem modul weiter oben aufgebaut und funktioniert auch.

Eine testübersetzung zwischen dem Erstellen des Query und der Anfrage ist noch korrekt, aber nach $db_connection->query( $strQuery ); bekomme ich nur noch deutsche inhalte.

Re: mi18n - modulübersetzung nur Teilweise korrekt

Verfasst: Mi 15. Apr 2009, 12:26
von GaMbIt_
Versuch doch mal

Code: Alles auswählen

<legend><b><?php echo mi18n("Besch&auml;ftigungsart"); ?></b></legend>
gegen den hier auszutauschen...

Code: Alles auswählen

<legend><b><?php echo mi18n("Beschäftigungsart"); ?></b></legend>
Und dann kannst Du auch in den Übersetzungen die HTML Entities setzen.. obwohl das mit richtigem Characterset nicht nötig sein sollte...

Re: mi18n - modulübersetzung nur Teilweise korrekt

Verfasst: Mi 15. Apr 2009, 22:12
von Oldperl
Doppelpost in Misc 4.6.x gelöscht

Gruß aus Franken

Ortwin

Re: mi18n - modulübersetzung nur Teilweise korrekt

Verfasst: Mi 15. Apr 2009, 22:29
von OliverL
StilgarBF hat geschrieben:Die Datenbank gegen die diese Anfrage läuft ist eine andere als die Contenido-DB. Contenido-Daten und andere Daten sind also getrennt. Die Connection wird in diesem modul weiter oben aufgebaut und funktioniert auch.
Ich glaube das liegt an der zusätzlichen Datenbank (+ Abfrage).
poste mal den ganzen Code. Ansonsten müssen wir alle raten.

mfg OliverL