Drupal 5.8: Übersetzung in der Suche funktioniert nicht
am 10.07.2008 - 19:28 Uhr in
Hallo zusammen,
seit einiger Zeit ist mir aufgefallen, dass der Text, der bei einer erfolglosen Suche erscheint:
Check if your spelling is correct.
Remove quotes around phrases to match each word individually: "blue smurf" will match less than blue smurf.
Consider loosening your query with OR: blue smurf will match less than blue OR smurf.
bei mir nicht übersetzt wird. Bei anderen Drupal-Sites, wie z.B. hier auf DrupalCenter.de, erscheint die korrekte Übersetzung problemlos.
Ich kann mir das überhaupt nicht erklären und habe natürlich erst mal vermutet, dass an meiner Site etwas nicht stimmt.
Nun habe ich das nochmals mit einer völlig neuen Drupal 5.8-Installation getestet, bei der ich nichts anderes gemacht habe, als die Lokaliisierung und die Suche zu aktivieren, die deutsche Übersetzung zu aktivieren und zu laden und eben eine erfolglose Suche auszuprobieren.
Ich verwende PHP Version 5.2.4 und MySQL 5.0.18.
Gibt es jemanden, der mir einen Tipp geben könnte, woran das liegen kann?
- Anmelden oder Registrieren um Kommentare zu schreiben
Findest Du denn dazu eine
am 11.07.2008 - 16:41 Uhr
Findest Du denn dazu eine Übersetzung, wenn Du in der Lokalisierung suchst? Oder ist das einfach nicht übersetzt?
--
bv - DrupalCenter.de
Übersetzt ist es!
am 13.07.2008 - 09:38 Uhr
Ja, in der Lokalisierung ist die Übersetzung drin. Sie wird nur einfach nicht angezeigt.
Fehler gefunden / Ursache leider noch nicht
am 14.07.2008 - 08:29 Uhr
Nachdem die Übersetzung in Drupal enthalten war, habe ich kontrolliert, ob denn der String aus der Übersetzung (de.po) mit dem String in der Modul-Datei übereinstimmt. Dazu habe ich mit dem Translation Template Extractor ein Template für die Datei search.module für die Sprache Deutsch exportiert und dabei die deutsche Übersetzung eingeschlossen. Und siehe da: der fragliche String hatte keine deutsche Übersetzung - obwohl die Übersetzung unter "Zeichenketten verwalten" angezeigt wird.
Daraufhin habe ich den englischen String in der von mir exportierten Datei mit denen in der offiziellen de.po verglichen. Der Unterschied liegt in der Behandlung der Zeilenumbrüche: Während in der de.po "\n" verwendet wird, schreibt der Extractor in die entsprechenden Stellen "\r\n".
Ich habe dann in der de.po "\n" gegen "\r\n" getauscht und neu importiert. Jetzt wird der String korrekt übersetzt.
Es scheint sich dabei um ein grundsätzliches Problem zu handeln, denn alle Zeichenketten, die Zeilenumbrüche enthalten, haben dieses Problem (das war mir bislang nur noch nicht aufgefallen, da sich das alles in der Verwaltungsoberfläche abspielt, mich bislang aber nur die Oberfläche interessiert hat, die der normale Benutzer zu sehen bekommt. Aber auch z.B. die Hilfeseite wird wegen der Umbrüche nicht übersetzt.
Nun frage ich mich, warum meine Drupal-Installation "\r\n" verlangt, während andere offensichtlich mit "\n" zufrieden sind. Kann das daran liegen, dass ich den Webserver auf Windows betreibe? Oder gibt es dafür spezielle Einstellungen in Apache oder PHP? Oder ist es etwas ganz anderes?
Dt. Text bei erfolgloser Suche - über ein Jahr ungelöst?
am 18.09.2009 - 17:05 Uhr
Kann es sein, dass dieses Problem, auch hier genannt
http://www.drupalcenter.de/node/17268
nach über einem Jahr noch immer ungelöst ist?
Jedenfalls ist bei mir der Text in Englisch, obwohl die Übersetzung vorhanden ist.
Was tun?
Und wie kann man das für alle Drupal-User lösen, dass nicht jeder dieses Problem hat, sondern bei zukünftigen Installationen der Text korrekt übersetzt angezeigt wird.
"Check if your spelling is correct" - String wird nicht erkannt!
am 21.09.2009 - 16:15 Uhr
Betrifft jetzt Drupal6:
Das Problem scheint hier aber etwas anders zu sein:
Am Beginn gibt es folgenden Text, der auch übersetzt ist:
<ul> <li>Check if your spelling is correct.</li> <li>Remove quotes around phrases to match each word individually: <em>"blue smurf"</em> will matc ...
modules/search/search.module:106
Sucht man nun zum ersten Mal, z. Bsp. nach dem Wort "suchtest1", bei dem es natürlich Null Treffer gibt, dann wird nicht der übersetzte Text angezeigt, obwohl die Übersetzung vorhanden ist.
Stattdessen wird der englische Text angezeigt und es wird in der Lokalisierung ein zusätzlicher zu übersetzender Eintrag angelegt:
<ul> <li>Check if your spelling is correct.</li> <li>Remove quotes around phrases to match each word individually: <em>"blue smurf"</em> will ma ...
/search/node/suchtest1
(wobei hier /search/node/suchtest1 bedeutend ist)
Übersetzt man nun diesen String, dann funktioniert es danach prima.
Das Problem scheint also folgendes zu sein: Der String ist mit den vielen ul, li und Zeilenumbrüchen ja etwas kompliziert/umfrangreich und wird daher anscheinend im Anwendungsfall vom System/Drupal nicht gefunden und daher auch ein neuer Eintrag, der übersetzt gehört, angelegt. Wenn diesen neuen Eintragn niemand übersetzt, bleibt ewig die englische Fassung erhalten für den Anwender.
Warum erkennt Drupal diesen Sring, der ja vorhanden ist und korrekt übersetzt ist, nicht? Das ist hier die Frage, und so könnte man das endgültig lösen .... Wer hat Ideen?
Obwohl Texte übersetzt sind, erscheinen englische Texte
am 21.09.2009 - 17:23 Uhr
Betrifft Drupal6:
Das gleiche Problem existiert auch hier:
Each email address will be obfuscated in a human readble fashion or (if JavaScript is enabled) replaced with a spamproof clickable link.
spamspan.module:44
ist korrekt übersetzt. Erstellt man Inhalt mit "Inhalt erstellen" - "Artikel" das erste mal, wird aber dieser Text dort im Formular auf Englisch angezeigt und es wird ein neuer zu übersetzender String erstellt in Drupal:
Each email address will be obfuscated in a human readable fashion or (if JavaScript is enabled) replaced with a spamproof clickable link.
/node/add/story
der unübersetzt ist.
Dieses Problem scheint ein allgemeines und großes Drupal-Problem zu sein. Vielleicht auch mit ein Grund, warum so viele Text nicht übersetzt sind.
Lösungsansätze?