Blog geht nicht mehr, sobald ich auf Deutsch umstelle

  • Hallo miteinander!

    Heute habe ich ein neues Wordpress Blog installiert. Lief auf alles wunderbar, Theme installiert usw. Kein Problem. Als ich jedoch die Sprache auf Deutsch umstellen wollte, lief ueberhaupt nichts mehr. Ich hab die neuste .mo Datei von hier in das Verzeichnis wp-includes/languages kopiert und entsprechend in der wp-config.php eingetragen.

    Resultat: Die Seite laedt nicht mehr. Ueberhaupt nicht. Noch nichtmal ne Fehlermeldung. Sehr seltsam. Um so seltsamer, da ich eine (etwas aelterer 1.5er) Wordpress Version auf dem gleichen Server laufen habe - mit deutscher Sprachdatei!
    Das neue Blog laeuft in einem Unterverzeichnis des alten und geht sogar auf die gleiche Datenbank (mit anderem Prefix versteht sich). Ich habe sogar ausprobiert, die derzeit benutzte (und funktionierende) .mo Datei fuer das neue Blog zu benutzen, allerdings ohne Erfolg. Sobald ich die Datei aus dem languages-Verzeichnis loesche oder die Sprache aus der wp-config.php wieder entferne, funktioniert uebrigens alles wieder (ausser das Dashboard, aber das hat andere Gruende, schaetze ich) - nur halt in Englisch!

    Hoffentlich hat irgendjemand eine Ahnung, was das sein koennte - es ist zum verruecktwerden.

    Dankeschoen schonmal fuer eventuelle Hilfe ;)

    Bjoern

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Hm. Die deutsche Sprachdatei von wordpress-deutschland.org ist meines Wissens doch nur für das Standard-Design (Kubrick) geeignet. Wenn du ein anderes Theme (so klingt deine Beschreibung für mich) installierst, harmoniert das nicht zwangsläufig....

    Kann schon sein, dass dann nichts mehr geht.

    (Steht ja auch, dass du ein anderes Theme verwendest. :P)

  • Der Grund, warum ich auf das andere Theme umgestellt habe, war, dass ich das Problem mit der Sprachdatei mit dem Standard-Theme hatte. Mit dem Theme hat das Problem definitiv nichts zu tun. Ausserdem ist es ja nicht so, dass einfach kein Deutsch erscheint, sondern das gar nichts erscheint. Die Seite laedt einfach fuer alle Ewigkeit... extrem raetselhaft.

  • Hallo nochmal. Nach etwas weiterem nachforschen, bin ich auf folgende Fehlermeldung gestossen, die jedes Mal, wenn ich die Seite versuche aufzurufen, in eine log-datei geschrieben wird:

    Code
    PHP Warning:  unpack(): Type V: not enough input, need 4, have 0 in /pfad/zu/wp-includes/gettext.php on line 82

    Natuerlich steht da anstelle "/pfad/zu/" der richtige pfad...

    Irgendwelche ideen?

  • Kopiere doch mal die alte "gettext.php" in die neue Installation. Welche Apache und PHP-Version ist bei dir im Einsatz?


    Zitat von KiNGU

    Hm. Die deutsche Sprachdatei von wordpress-deutschland.org ist meines Wissens doch nur für das Standard-Design (Kubrick) geeignet. Wenn du ein anderes Theme (so klingt deine Beschreibung für mich) installierst, harmoniert das nicht zwangsläufig....


    Neee, da hast du was falsch verstanden. In den meisten Themes inkl. dem Standardtheme können nicht alle Teile durch die Sprachdatei übesetzt werden. Deshalb gibt es zusätzlich noch eine komplett eingedeutschte Version des Standardthemes!

  • Habs mit der alten gettext.php ausprobiert... kein Erfolg. Inzwischen hab ich auch mal andere Sprachdateien ausprobiert (z.B. Schwedisch) - gleiches Ergebnis. Vor allem da mein andere 1.5.x Wordpress ja einwandfrei lauft - lediglich ein Verzeichnis obendrueber...

    Versionen:
    Apache/1.3.33
    PHP Version 4.3.10

    Danke schonmal fuers Bemuehen...

  • Hallo mal wieder. Also mir wurd's jetzt zu bunt und ich hab einfach mein altes Wordpress komplett kopiert und dann installiert. Funktionierte auf Anhieb, nur ein paar Pfade anpassen - fertig. Keinerlei Probleme auch mit der Sprachdatei. Alles sehr rätselhaft!

    Falls doch noch jemand eine Idee hat - das andere Blog hab ich noch auf dem Server gelassen, zum rumprobieren...

    Gruss

  • Selbes Problem mit Sprachdatei...!

    Hi Bjoern!

    Ich habe das selbe Problem mit dem Fehler:

    Code
    PHP Warning:  unpack(): Type V: not enough input, need 4, have 0 in gettext.php on line 82

    nachdem ich eine deutsche Sprach-".mo" Datei installiert habe. Habe mir ein wenig die .php Dateien angesehen, scheinbar sind wp-l10n.php, streams.php und gettext.php an der Auswertung der .mo Daten beteiligt. Habe fuer jede jeweils auch ältere Versionen ausprobiert (Gettext.php 1.0.1, Gettext.php 1.0.3, wp-turbo, Dateien der Version 1.2.2). Habe auch andere .mo Dateien ausprobiert, inkl. selbst kompilierter (using poEdit). Erfolg := Null.

    Auf welche Version von Wordpress hast Du "downgegraded"? Welche plugins benutzt Du, irgendwas was auf der alten Version nicht, auf der neuen aber schon installiert ist?

  • OK: Da ist der Bug! (Aber Warum???)

    Habe jetzt nochmals die ganzen .php´s auseinandergenommen, und bin auf folgendes draufgekommen:

    Aus einem mir derzeit noch unerfindlichen Grund, ersetzt die Funktion fread($handle,$bytes) in streams.php alle vorkommende \x0000 Werte durch \x5c30 (das entspricht den zwei Zeichen "\" und "0") obwohl beim öffnen der Datei "binary read" = "rb" eingeschalten worden ist. Das hat zur Folge, dasz z.B. aus dem 32bit Integer \x00000101 (also 256) der 32bit Integer \x5c300101 wird (also 1546649857). Damit liegen alle Zeiger auszerhalb der Datei, folgedessen findet gettext.php dort auch keine Uebersetzungstabelle...
    Dirty fix: man ersetze in der Datei streams.php (und zwar für das Objekt CachedFileRead)

    Code
    this->_str = fread ($fd,$lenght);


    durch

    Code
    while (false !==($char=fgetc($fd))) {
      $this->_str = $this->_str.$char;
    }


    Jetzt funktiniert zwar die Übersetzung einwandfrei, nur wird die .mo Datei Zeichenweise ausgelesen, und das ist alles andere als schnell....
    HILFE: Wer kann mir sagen, wie man fread() zur Raison bringt und ohne diesen "dirty Fix" auskommt?

  • Ich glaub' jetzt hab ich's!

    Das Problem dürfte daran liegen, dasz es eine Option bei php gibt, die das Verhalten von fread() dergestalt ändert, dasz trotz gesetztem binary Attribut ("b"), einige Werte beim lesen durch Escape-Zeichen ersetzt werden, z.B. eben \x0000. Die Option heiszt:

    Code
    magic_quotes_runtime


    findet sich in der Datei php.ini. und kann dort ein für allemal ausgeschalten werden. Scheinbar kann Sie auch mit

    Code
    set_magic_quotes_runtime (0);


    für die Dauer einer Session übersteuern, wahrscheinlich ist der Wert für alle, die keine Probleme haben, ohnedies ausgeschalten, und Bjoern hat auf seiner alten WP Version die obige Zeile drinn (irgendein Plugin, oder auch nur ein biszchen Code das rausgefallen ist weil keiner geglaubt hat, das man das noch braucht).
    Komme derzeit nicht an meinen Server heran und musz es deshalb noch ausprobieren, aber das dürfte die Lösung sein.

    Liebe Grüsze aus Buenos Aires, Argentinien
    Alexander Juan [/code]

  • hallo hromatka,

    tja, wenn ich nur wuesste, welche WP version das ist, auf die ich da downgegradet hab... die information findet man irgendwie nirgens... ich hab die so ende maerz isntalliert und damals die neueste version genommen, war 1.5.x ich glaub sogar 1.5.0. damals hatte ich uebrigens die gleichen probleme. war ganz verzweifelt. aber als ich die seite mal 1-2 tage in ruhe gelassen hatte, gings ploetzlich! ich hatte nichts, gar nichts gemacht! das ist enorm seltsam. daher war ich mir gar nicht sicher, ob das mit dem kopieren auch klappt, hat es aber...
    ich bin auf alle faelle auch an einer loesung des problems interessiert, denn irgendwann will ich ja auch mal upgraden... obwohl ich dummerweise ein bisschen am WP-code rumgepfuscht habe um ein paar sachen zu aendern.

  • Funktioniert!

    Hey, super! Ich hab das mal ausprobiert, was du da rausgefunden hast: einfach die Zeile set_magic_quotes_runtime (0); ganz oben in die wp-config.php eingefuegt und schwupps, gehts... wobei natuerlich das default theme einen das fast nicht merken laesst... erst im admin-menu sieht man pleotzlich alles deutsch.

    gruss aus australien ;)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!