mi18n - modulübersetzung nur Teilweise korrekt

Gesperrt
StilgarBF
Beiträge: 15
Registriert: Mi 28. Nov 2007, 12:01
Kontaktdaten:

mi18n - modulübersetzung nur Teilweise korrekt

Beitrag 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
StilgarBF
Beiträge: 15
Registriert: Mi 28. Nov 2007, 12:01
Kontaktdaten:

Re: mi18n - modulübersetzung nur Teilweise korrekt

Beitrag 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.
GaMbIt_
Beiträge: 674
Registriert: Do 16. Mär 2006, 16:17
Kontaktdaten:

Re: mi18n - modulübersetzung nur Teilweise korrekt

Beitrag 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...
Nützliche Contenido Infos gibts hier: Contenido Wiki
Oldperl
Beiträge: 4316
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Hat sich bedankt: 6 Mal
Danksagung erhalten: 4 Mal
Kontaktdaten:

Re: mi18n - modulübersetzung nur Teilweise korrekt

Beitrag von Oldperl »

Doppelpost in Misc 4.6.x gelöscht

Gruß aus Franken

Ortwin
ConLite 3.0.0-dev, alternatives und stabiles Update von Contenido 4.8.x unter PHP 8.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
OliverL
Beiträge: 870
Registriert: Do 28. Jun 2007, 09:28
Kontaktdaten:

Re: mi18n - modulübersetzung nur Teilweise korrekt

Beitrag 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
Gesperrt