Übersetzung einer bestimmten Zeichenkette mit html
am 16.02.2016 - 09:22 Uhr in
Hallo zusammen
Ich arbeite an einer multisprachigen Webseite, die auf der https://www.drupal.org/project/openoutreach "Distribution" basiert ist. Alles mit Übersetzungen läuft erwartungsgemäß, d.h. könnte problemlos übersetzt werden, aber ich habe ein Problem mit "Strings", die bestimmten unerlaubten HTML-Zeichen enthalten.
Es geht um die Übersetzung in disem Fall von dem String "Read more".
Wenn man diese Zeichenkette auf der Seite "Startseite » Verwaltung » Konfiguration » Lokalisierung und Sprache » Oberfläche übersetzen" sucht, kommt es 4 Mal vor. 3 Mal wurde sie automatisch übersetzt. 2 haben keine, aber einer hat anscheinend "erlaubten" HTML-Zeichen wie
=> "Read more<span class="element-invisible"> about @title</span>"
automatisch übersetzt als
=> "Weiterlesen<span class="element-invisible"> über @title</span>"
.
Das Problem ist mit Originaltext:
<div class="views-slideshow-overlay"> <a href="[field_link]" class="views-slideshow-button">Read more</a> <h2><a href="[field_link]">[title]</a></h2> <h4>[field_kicker]</h4> </div>
.
Ein Beispiel wo genau dieser Text vorkommt is auf http://openoutreach.org/ ... der Text mit "Read more" in der Slideshow.
Einfach in dem Textbox "Deutsch" (deutsche Übersetzung) => "Weiterlesen" zu schreiben, führt dazu, dass der Text auf dem Slider-Bild verschwindet, und "Weiterlesen" nicht einmal verlinkt, unterhalb des Slider-Bild erscheint.
Wenn man aber <div class="views-slideshow-overlay"> <a href="[field_link]" class="views-slideshow-button">Weiterlesen</a> <h2><a href="[field_link]">[title]</a></h2> <h4>[field_kicker]</h4> </div>
... einträgt, was richtig wäre, kommt die Fehlermeldung:
Die übermittelte Zeichenkette enthält unerlaubtes HTML: <div class="views-slideshow-overlay"> <a href="[field_link]" class="views-slideshow-button">Weiterlesen</a> <h2><a href="[field_link]">[title]</a></h2> <h4>[field_kicker]</h4> </div>
Wie könnte man das Problem lösen, damit der ganze Text auf dem Slider-Bild auf Deutsch, auch mit "Weiterlesen" statt "Read more" kommt? Ich denke sowieso direkt in den Modul-Code einzugreifen, und "Read me" mit "Weiterlesen" zu ersetzen keine gute Idee wäre.
Oder kann man in solchen Fälle nichts machen?
Ich habe ein ähnliches Problem bei einer anderen Webseite gehabt, bei der Übersetzung der "Integrierte Oberfläche" des Nivo Slider (https://www.drupal.org/project/nivo_slider)
Ich habe schon, vor 3 Tagen Hilfe im Drupal.org Forum gesucht => https://www.drupal.org/node/2667920 und auch bei Open Outreach Distribution Support, aber bisher kein Antwort.
Vielen Dank im voraus
- Anmelden oder Registrieren um Kommentare zu schreiben
Fehler im Modul!
am 16.02.2016 - 10:33 Uhr
Im Modul debut_highlighted.views_default.inc, Zeilen 128 und 214: Der Text "Read more" ist nicht übersetzbar, da er nicht in t() eingebunden ist. Du solltest das auf drupal.org als Bug melden.
Wilfried
Drupal: a CMS without typo in its name
Auf Drupal.org bin ich als Pepe Roni unterwegs!
alter-Text
am 16.02.2016 - 11:00 Uhr
Moin.
Das ist kein Bug. Der Text ist Teil einer HTML-Ausgabe für den "alter-text" im View. Dieser kann (wie auch andere Elemente des Views) ganz einfach über das Modul [do:i18nviews Internationalization Views] übersetzt werden.
hth,
Stefan
PS: um HTML als Übersetzung zu importieren, verwendest Du am Besten .po-Dateien. Siehe https://www.drupal.org/node/1814954. Über diesen Umweg kann man dann auch Übersetzungen mit HTML importieren (das funktioniert über die normale Oberfläche nicht).
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Ah, wieder was gelernt ;)
am 16.02.2016 - 11:06 Uhr
Danke
Wilfried
Drupal: a CMS without typo in its name
Auf Drupal.org bin ich als Pepe Roni unterwegs!
Hallo wbue Vielen Dank für
am 16.02.2016 - 12:04 Uhr
Hallo wbue
Vielen Dank für die Antwort.
Ich habe das Problem auf https://www.drupal.org/node/2669652 gemeldet. Ich hoffe, dass sie (bald) darauf reagieren, obwohl es mir aufgefallen ist, dass es dort nicht viel los ist.
Ich gehe davon aus, dass dieses Modul ein Teil der Open Outreach Distribution ist ...
Danke nochmals
LG.
Hallo StefanIch habe deine
am 16.02.2016 - 13:53 Uhr
Hallo Stefan
Ich habe deine Antwort erst nach meiner Letzten gesehen.
Ich versuche, das zu machen, was du vorgeschlagen hast, aber weil ich nicht so viel Erfahrung in den Bereich habe, wäre deine weitere Hilfe goldwert. ;)
Ich habe das Modul https://www.drupal.org/project/i18nviews installiert, aber dafür auf /admin/config/regional/translate/update kommt die Meldung => "Keine verfügbaren Übersetzungen gefunden". Das Modul "Localization update", holt sonst alle vorhandene Übersetzungen.
Ich nehme an, ich muss selber diese .po Datei schreiben. Gründsätzlich brauche ich nur die genannte Übersetzung für "Read more".
Ich habe eine .po-Datei für jQuery Update genommen, in umbenannt "i18nviews-7.x-3.0-alpha1.de.po" und versucht die dort vorhandene Zeilen zu ersetzen, und anschliessend importiert, aber es fehlt noch was. Vielleicht kannst du mir helfen diese zu korrigieren.
Das ist der Inhalt der .po-Datei:
# German translation of Views translation (7.x-3.0-alpha1)
# Copyright (c) 2015 by the Bla blah translation team
#
msgid ""
msgstr ""
"Project-Id-Version: Internationalization Views (7.x-3.0-alpha1)\n"
"POT-Creation-Date: 2016-02-16 07:06+0000\n"
"PO-Revision-Date: YYYY-mm-DD HH:MM+ZZZZ\n"
"Language-Team: German\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
msgid "User interface"
msgstr "Benutzeroberfläche"
msgid "Read more"
msgstr "Weiterlesen"
....
Damit, wenn ich auf admin/config/regional/translate/translate nach "Read me" suche:
<div class="views-slideshow-overlay"> <a href="[field_link]" class="views-slideshow-button">Read more</a> <h2><a href="[field_link]">[title]</a></h2> <h4>[field_kicker]</h4> </div>
"<div class="views-slideshow-overlay"> <a href="[field_link]" class="views-slideshow-button">Read more</a> <h2><a href="[field_link]">[title]</a></h2> <h4>[field_kicker]</h4> </div>
Kontext
highlighted:default:field:views:nothing:alter:text
<div class="views-slideshow-overlay"> <a href="[field_link]" class="views-slideshow-button">Read more</a> <h2><a href="[field_link]">[title]</a></h2> <h4>[field_kicker]</h4> </div>
Kontext
highlighted:block_content:field:views:nothing:alter:text
und ... beim Importieren habe ich die Textgruppen "Integrierte Oberfläche" & auch "Ansichten" gewählt. Was muss man hier beachten?
Vielen Dank in Voraus
i18nviews
am 16.02.2016 - 14:03 Uhr
Du benötigst den Kontext in Deiner .po-Datei:
Damit sollteTM das dann eigentlich funktionieren.
Du musst noch darauf achten, dass Anführungszeichen "escaped" sind, ansonsten gibt es Fehler.
hth,
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Gelöst!
am 16.02.2016 - 16:12 Uhr
Hi there
Über Ansichten => "Highlighted" (Slider-Block-Name) => "Global: Benutzerdefinierter Text" ... war
"<div class="views-slideshow-overlay">
<a href="[field_link]" class="views-slideshow-button">Weiterlesen</a>
<h2><a href="[field_link]">[title]</a></h2>
<h4>[field_kicker]</h4>
</div>"
Du musst noch darauf achten, dass Anführungszeichen "escaped" sind, ansonsten gibt es Fehler.
Da hast du auch recht. Ich musste eine kleine Veränderung zu =>
msgstr "<div class="views-slideshow-overlay"> <a href="/[field_link]/" class="/views-slideshow-button/">Read more</a> <h2><a href="/[field_link]/">[title]</a></h2> <h4>[field_kicker]</h4> </div>"
... vornehmen bevor es akzeptiert werden konnte.
Ich habe eine weitere Frage in Kürze zum Nivo Slider. Es ist ein wenig anders, aber es hat etwas mit einer Fehlermeldung zu tun.
Vielen Dank! :)