Bug in PlugIn "Multilinguale Einträge" ??

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
XIII
Regular
Posts: 12
Joined: Thu Oct 13, 2005 3:40 pm
Location: Germany
Contact:

Bug in PlugIn "Multilinguale Einträge" ??

Post 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.
Die besten Dinge im Leben sind nicht die, die man für Geld bekommt.
[Albert Einstein]

Image
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Bug in PlugIn "Multilinguale Einträge" ??

Post by garvinhicking »

Hi!

Könnte es daran liegen dass es keine s9y Sprachdatei "jp" gibt? "ja" heißt die von s9y...?!

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
XIII
Regular
Posts: 12
Joined: Thu Oct 13, 2005 3:40 pm
Location: Germany
Contact:

Re: Bug in PlugIn "Multilinguale Einträge" ??

Post by XIII »

Hallo.

Das könnte nicht so sein, das ist so!
Vielen Dank für die schnelle Hilfe, jetzt funktioniert es.

lG
Stephan
Die besten Dinge im Leben sind nicht die, die man für Geld bekommt.
[Albert Einstein]

Image
XIII
Regular
Posts: 12
Joined: Thu Oct 13, 2005 3:40 pm
Location: Germany
Contact:

Re: Bug in PlugIn "Multilinguale Einträge" ??

Post 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
Die besten Dinge im Leben sind nicht die, die man für Geld bekommt.
[Albert Einstein]

Image
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Bug in PlugIn "Multilinguale Einträge" ??

Post by garvinhicking »

Hi!

Da steht nur "{{cn}" statt "{{cn}}"?

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
XIII
Regular
Posts: 12
Joined: Thu Oct 13, 2005 3:40 pm
Location: Germany
Contact:

Re: Bug in PlugIn "Multilinguale Einträge" ??

Post 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
Die besten Dinge im Leben sind nicht die, die man für Geld bekommt.
[Albert Einstein]

Image
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Bug in PlugIn "Multilinguale Einträge" ??

Post 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
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
XIII
Regular
Posts: 12
Joined: Thu Oct 13, 2005 3:40 pm
Location: Germany
Contact:

Re: Bug in PlugIn "Multilinguale Einträge" ??

Post by XIII »

Ohne Änderung und mit der ersten Änderung wird bei Englisch das angezeigt:

Code: Select all

Open login screen{{!cn}}启登入页面
Bei Chinesisch sieht es so aus:

Code: Select all

{{!en}}Open login screen启登入页面


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:

Code: Select all

Login{{!da}}dänisch
Bei Dänisch kommt das:

Code: Select all

{{!de}}Login{{!ja}}ログイン画面を開くdänisch
Italienisch ist wieder OK und bei Japanisch kommt das:

Code: Select all

#  
# ログイン画面を開く{{!da}}dänisch


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 "da" "ja"

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...).
Die besten Dinge im Leben sind nicht die, die man für Geld bekommt.
[Albert Einstein]

Image
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Bug in PlugIn "Multilinguale Einträge" ??

Post by garvinhicking »

Hi!

Probier's mal mit:

Code: Select all

return '[^('.$lang.')]';
?

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
XIII
Regular
Posts: 12
Joined: Thu Oct 13, 2005 3:40 pm
Location: Germany
Contact:

Re: Bug in PlugIn "Multilinguale Einträge" ??

Post 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
Die besten Dinge im Leben sind nicht die, die man für Geld bekommt.
[Albert Einstein]

Image
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Bug in PlugIn "Multilinguale Einträge" ??

Post 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
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
XIII
Regular
Posts: 12
Joined: Thu Oct 13, 2005 3:40 pm
Location: Germany
Contact:

Re: Bug in PlugIn "Multilinguale Einträge" ??

Post by XIII »

Hallo.

Hat niemand sonst eine Idee?
Die Sprachen die ich brauche sind Deutsch, Englisch, Chinesisch, Japanisch und Italienisch.

lG

Stephan
Die besten Dinge im Leben sind nicht die, die man für Geld bekommt.
[Albert Einstein]

Image
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Bug in PlugIn "Multilinguale Einträge" ??

Post 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
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Post Reply