Page 1 of 1
Bug in PlugIn "Multilinguale Einträge" ??
Posted: Thu Jan 07, 2010 7:56 pm
by XIII
Hallo zusammen.
Ich versuche gerade eine Seite in (im Moment) vier Sprachen (Deutsch, Englisch, Italienisch und Japanisch) zu realisieren und stoße auf folgendes Problem:
Ich habe mit
Code: Select all
{{!de}}Deutsche News{{--}} {{!en}}Englische News{{--}} {{!jp}}Japanische News{{--}} {{!it}}Italienische News{{--}}
eine Kategorie viersprachig angelegt.
Die Ausgabe ist bei allen Sprachen, bis auf Japanisch, korrekt. Die japanische Ausgabe sieht so aus:
{{!jp}}Japanische News, also der "Sprachfestleger" wird mit ausgegeben.
Hat hier vielleicht jemand eine Lösung?
PS. Ich verwende die aktuelle Version von S9Y und des PlugIn's.
Re: Bug in PlugIn "Multilinguale Einträge" ??
Posted: Thu Jan 07, 2010 8:40 pm
by garvinhicking
Hi!
Könnte es daran liegen dass es keine s9y Sprachdatei "jp" gibt? "ja" heißt die von s9y...?!
Grüße,
Garvin
Re: Bug in PlugIn "Multilinguale Einträge" ??
Posted: Fri Jan 08, 2010 11:31 am
by XIII
Hallo.
Das könnte nicht so sein, das ist so!
Vielen Dank für die schnelle Hilfe, jetzt funktioniert es.
lG
Stephan
Re: Bug in PlugIn "Multilinguale Einträge" ??
Posted: Sun Jan 24, 2010 10:00 pm
by XIII
Hallo.
Ich habe leider noch ein Problem.
Ich habe ein HTML Klotz als Navigation eingebunden und mit folgendem Inhalt angelegt:
Code: Select all
<ul id="Navigation"><li><a href="http://royal-wedding-service.com/index.php?/categories/1-News" title="News">News</a></li><li> </li><li><a href="http://royal-wedding-service.com/index.php?/admin">{{!de}}Login{{--}}{{!en}}Open login screen{{--}}{{!it}}Apri schermo di login{{--}}{{!ja}}ログイン画面を開く{{--}}{{!cn}开启登入页面{{--}}</a></li></ul>
Solange ich nicht Chinesisch verwende ist alles toll, nur mit Chinesisch bekomme ich dann Fehler. Hier kann man sich das gut anschauen:
http://royal-wedding-service.com/
Ist cn für einfaches Chinesisch (UTF) nicht korrekt? Laut
Languages / i18n sollte das doch so sein, oder? Ich habe mir schon ne'n Wolf gesucht ...
... und bin für jede Hilfe sehr Dankbar.
lG
Stephan
Re: Bug in PlugIn "Multilinguale Einträge" ??
Posted: Mon Jan 25, 2010 1:14 pm
by garvinhicking
Hi!
Da steht nur "{{cn}" statt "{{cn}}"?
Grüße,
Garvin
Re: Bug in PlugIn "Multilinguale Einträge" ??
Posted: Mon Jan 25, 2010 6:54 pm
by XIII
Hallo.
Richtig, aber auch ohne den Fehler (den ich schon behoben habe) verhält sich die Geschichte nicht so wie es sein sollte. Hier nochmal der aktuelle Inhalt:
Code: Select all
<ul id="Navigation"><li><a href="http://royal-wedding-service.com/index.php?/categories/1-News" title="News">News</a></li><li> </li><li><a href="http://royal-wedding-service.com/index.php?/admin">{{!de}}Login{{--}}{{!en}}Open login screen{{--}}{{!it}}Apri schermo di login{{--}}{{!ja}}ログイン画面を開く{{--}}{{!cn}}启登入页面{{--}}</a></li></ul>
.
Danke schon mal ...
Grüße aus Füssen
Stephan
Re: Bug in PlugIn "Multilinguale Einträge" ??
Posted: Mon Jan 25, 2010 7:37 pm
by garvinhicking
Hi!
Hm, schade. Das wäre einfach gewesen.
Ich fürchte, dass in der serendipty_event_multilingual.pph noch ein Bug dann sein könnte in der Ersetzungslogik. Die UTF-8 Sonderzeichen im chinesischen Teil scheinen mir den RegEx-Parser durcheinanderzubringen.
Zentrale Stelle im Code dürfte das in Zeile 213 sein:
Code: Select all
$pattern = '/\{\{\!'.$this->neglang($language).'\}\}.*?\{\{--\}\}|\{\{\!'.$language.'\}\}|\{\{--\}\}/s'
Evtl hilft das schon, wenn DU es änderst zu:
Code: Select all
$pattern = '/\{\{\!'.$this->neglang($language).'\}\}.*?\{\{--\}\}|\{\{\!'.$language.'\}\}|\{\{--\}\}/ms';
denn das würde dafür sorgen dass auch Mehrzeilige Patterns evtl richtig ersetzt werden.
Die zweite mögliche Stelle könnte dieser code sein;
Code: Select all
function neglang($lang) {
/* Creates the negation pattern from a two letter language identifier. */
return '[^'.$lang[0].'][^'.$lang[1].']';
}
Hier scheint mir "cn" und "en" in Konflikt zu geraten, weil er im regulären Ausdruck alles ersetzt was im englischen Fall "nicht c und nicht n" ist, bei "en" und "cn" matcht beides mal das "n" am Ende.
Lange Rede, kurzer Sinn: Probier mal den Code zu iersetzen durch:
Code: Select all
function neglang($lang) {
/* Creates the negation pattern from a two letter language identifier. */
return '[^'.$lang.']';
}
das könnte aber evtl Seiteneffekte haben, also wenn möglich mal prüfen ob wenn dass dein ursprüngliches Problem behebt dass nicht andere Probleme aufreisst?
Vielen Dank fürs Testen!!!
Grüße,
Garvin
Re: Bug in PlugIn "Multilinguale Einträge" ??
Posted: Tue Jan 26, 2010 8:16 pm
by XIII
Ohne Änderung und mit der ersten Änderung wird bei Englisch das angezeigt:
Bei Chinesisch sieht es so aus:
Die zweite Änderung (mit oder ohne der ersten Änderung) bewirkt das bei Englisch das angezeigt wird:
Code: Select all
{{!de}}LoginOpen login screen{{!it}}Apri schermo di login{{!ja}}ログイン画面を開く{{!cn}}启登入页面
Bei Deutsch kommt das:
Code: Select all
Login{{!en}}Open login screen{{!it}}Apri schermo di login{{!ja}}ログイン画面を開く{{!cn}}启登入页面
Bei Italienisch das:
Code: Select all
{{!de}}Login{{!en}}Open login screenApri schermo di login{{!ja}}ログイン画面を開く{{!cn}}启登入页面
Chinesisch:
Code: Select all
{{!de}}Login{{!en}}Open login screen{{!it}}Apri schermo di login{{!ja}}ログイン画面を開く启登入页面
Japanisch:
Code: Select all
{{!de}}Login{{!en}}Open login screen{{!it}}Apri schermo di loginログイン画面を開く{{!cn}}启登入页面
Ich habe mal zum Test den Code im HTML-Klotz so geändert (kein Chinesisch sondern Dänisch (da)):
Code: Select all
<ul id="Navigation"><li><a href="http://royal-wedding-service.com/index.php?/categories/1-News" title="News">News</a></li><li> </li><li><a href="http://royal-wedding-service.com/index.php?/admin">{{!de}}Login{{--}}{{!en}}Open login screen{{--}}{{!it}}Apri schermo di login{{--}}{{!ja}}ログイン画面を開く{{--}}{{!da}}dänisch{{--}}</a></li></ul>
Das Ergebnis sieht dann so aus:
Englisch ist OK, aber bei Deutsch kommt das:
Bei Dänisch kommt das:
Code: Select all
{{!de}}Login{{!ja}}ログイン画面を開くdänisch
Italienisch ist wieder OK und bei Japanisch kommt das:
Irgendwie kommt es mir so vor das Deine Idee mit "cn" und "en" in die richtige Richtung geht. Mit Dänisch haben wir da scheinbar gleich zwei Konflikte: "
de" "
da" und "d
a" "j
a"
Ich hoffe das hilft bei der weiteren Fehlersuche ...
Grüße aus Füssen
Stephan
PS. Ich habe die Seite nun auf der letzten Variante mit Dänisch gelassen (vielleicht ist ja was zu erkennen...).
Re: Bug in PlugIn "Multilinguale Einträge" ??
Posted: Wed Jan 27, 2010 11:37 am
by garvinhicking
Hi!
Probier's mal mit:
?
Grüße,
Garvin
Re: Bug in PlugIn "Multilinguale Einträge" ??
Posted: Sat Jan 30, 2010 3:11 pm
by XIII
Hallo.
Ich war leider ein paar Tage unterwegs, so das ich jetzt erst testen konnte.
Wenn ich nur diese Änderung vornehme:
Code: Select all
function neglang($lang) {
/* Creates the negation pattern from a two letter language identifier. */
return '[^('.$lang.')]';
sieht es aus wie das Ergebnis der zweiten Änderung.
Ich lass es mal aktiv, damit Du schauen kannst ...
http://royal-wedding-service.com/index.php?index.php
Grüße aus Füssen
Stephan
Re: Bug in PlugIn "Multilinguale Einträge" ??
Posted: Sun Jan 31, 2010 12:48 pm
by garvinhicking
Hi!
Hm, ich glaube das Problem ist einen regulären Ausdruck zu finden der sagt "nimm hier alles ausser dem Wort 'en'".
Derzeit sind die alle so, dass es halt "nimm hier alles ausser e oder n" steht. Das "^" steht für "nicht", aber eine Negation findet stanardmäßig nur auf Buchstaben nicht auf Wortketten statt. Scheinbar scheint "()" als Wortkettenindikator nicht zu gelten.
In diesem Bereich sind meine RegEx-Fähigkeiten sehr gerin...hat da jemand Ahnung?
Grüße,
Garvin
Re: Bug in PlugIn "Multilinguale Einträge" ??
Posted: Wed Mar 17, 2010 5:23 pm
by XIII
Hallo.
Hat niemand sonst eine Idee?
Die Sprachen die ich brauche sind Deutsch, Englisch, Chinesisch, Japanisch und Italienisch.
lG
Stephan
Re: Bug in PlugIn "Multilinguale Einträge" ??
Posted: Wed Mar 17, 2010 7:01 pm
by garvinhicking
Hi1
Vor kurzem habe ich einige Patches in dem Plugin vorgenommen. Hast Du mal geprüft ob es jetzt geht?
Grüße,
Garvin