I'm receiving nasty errors in the watchdog log because Drupal can't import bad translations. The latest one is for RoleAssign:
https://localize.drupal.org/translate/languages/de/translate?page=1&proj...

There's a long string containing 58 HTML errors according to https://validator.w3.org/check, like

<h2>Hintergrund</h2>Hintergrund</h2>
<Es ist für Site-Administratoren möglich, die Benutzerverwaltung über die Berechtigung <code>administer users</code> zu delegieren.

These HTML errors are not in the original string.

Since D7 (in my case) does basic HTML checking and produces recurring error messages about broken texts, couldn't l.d.o do this checking as well, before it accepts those edits?

Issue fork de-3091250

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

salvis created an issue. See original summary.

joachim namyslo’s picture

It is actually my fault. I'll try to fix this soon.

There are some things we should mention, before Drupal 9 comes round the corner. by now there is not such a function and the error check in Drupal 7 and Drupal 8 doesn't recognize the new twig syntax. Some strings require to wrap them into a div element but div elements are excluded when the check in D7 D8 runs. So the import process will be interrupted, whenever a malformed string is found.
RoleAssign contains truly malformed HTML. The Problem here is not that the String has mallformed HTML at all. The Problem is the original One. It contains a

in the original String. Below you can find a HTML-tidy version of the string where the tag is removed from. As long as the maintainer fixes that issue. The only chance is to import the help text manually and delete the translation for that help text monster from l.d.o

Need to test that for 7.x as well, but I don't own d/ instances anymore. Feel free to copy and paste the code below. It works perfect.

joachim namyslo’s picture

Fixed so far.

Need to retranslate it. Error-Message should be gone in aprox. 30 Minutes.

joachim namyslo’s picture

joachim namyslo’s picture

joachim namyslo’s picture

Für 8 nochmals geändert Review folgt, sobald der String vom Übersetzungsserver verarbeitet wurde.

joachim namyslo’s picture

Status: Active » Postponed (maintainer needs more info)
joachim namyslo’s picture

Title: Faulty (machine?) translations: Import of string "..." was skipped because of disallowed or malformed HTML. » RoleAssign
Status: Postponed (maintainer needs more info) » Needs work

Ich hab den Übeltäter gefunden. Es ist der

tag, der dafür sorgt, dass Drupal den String ablehnt. egal in welcher Version. Der gehört da einfach nicht rein.

Wenn das jemand verifizieren will, hier ist der richtige Code:

<p>RoleAssign erm&ouml;glicht es den Administratoren insbesondere, die Aufgabe der Verwaltung von Benutzerrollen besser zu delegieren.</p><p>RoleAssign f&uuml;hrt eine neue Berechtigung namens Rollen zuweisen ein. Benutzer mit dieser Berechtigung sind in der Lage, anderen Benutzern ausgew&auml;hlte Rollen zuzuweisen. Nur Benutzer mit der Berechtigung &bdquo;Berechtigungen verwalten&ldquo; k&ouml;nnen ausw&auml;hlen, welche Rollen f&uuml;r die Zuweisung &uuml;ber dieses Modul verf&uuml;gbar sind.</p> 
<h2>Hintergrundinformationen</h2><p>Administratoren haben die M&ouml;glichkeit, die Benutzerverwaltung &uuml;ber die Berechtigung &bdquo;Benutzer verwalten&ldquo; zu delegieren. Dies schlie&szlig;t jedoch nicht die Berechtigung ein, Benutzern Rollen zuzuweisen. Das ist notwendig, wenn der Beauftragte in der Lage sein soll, Benutzerkonten ohne Eingreifen eines Administrators zu verwalten.</p><p>Um die Zuweisung von Rollen zu delegieren, hatten Administratoren bisher keine andere Wahl, als auch die Berechtigung &bdquo;Berechtigungen verwalten" zu erteilen. Dies ist jedoch nicht ratsam, da dadurch die Berechtigung erteilt wird, auf alle Rollen zuzugreifen, und schlimmer noch, jeder Rolle irgendwelche Berechtigungen zu gew&auml;hren. Das kann vom Beauftragten missbraucht werden, der sich selbst alle Rechte zuweisen und so die Kontrolle &uuml;ber die Website &uuml;bernehmen kann.</p><p>Dieses Modul l&ouml;st dieses Problem durch die Einf&uuml;hrung der Berechtigung &bdquo;Rollen zuweisen&ldquo;. W&auml;hrend der Bearbeitung der Kontoinformationen eines Benutzers kann ein Benutzer, der diese Berechtigung besitzt, Rollen f&uuml;r den Benutzer, dessen Benutzerkonto er gerade bearbeitet, aus einer Reihe von verf&uuml;gbaren Rollen ausw&auml;hlen. Die verf&uuml;gbaren Rollen werden von Benutzern mit der Berechtigung &bdquo;Berechtigungen verwalten&ldquo; konfiguriert.</p><h2>Konfiguration</h2><ol><li>Melden Sie sich an der Website als Administrator an.</li><li>Wechseln Sie zur Verwaltungsseite Berechtigungen und erteilen Sie denjenigen Rollen die Berechtigung &bdquo;Rollen zuweisen&ldquo;, die in der Lage sein sollten, anderen Benutzern Rollen zuzuweisen. Beachten Sie, dass diese Rollen neben der Berechtigung &bdquo;Rollen zuweisen&ldquo; auch &uuml;ber die Berechtigung &bdquo;Benutzer verwalten&ldquo; verf&uuml;gen m&uuml;ssen.</li><li>Wechseln Sie zur Verwaltungsseite f&uuml;r die Rollenzuweisung und w&auml;hlen Sie die Rollen aus, die f&uuml;r die Zuweisung durch Benutzer mit der Berechtigung &bdquo;Rollen zuweisen&ldquo; verf&uuml;gbar sein sollen.</li><li>Rufen Sie f&uuml;r jeden Benutzer, der in der Lage sein soll, Rollen zuzuweisen, das Konto des jeweiligen Benutzers auf und weisen Sie dem jeweiligen Benutzer eine Rolle mit den Berechtigungen &bdquo;Rollen zuweisen" und &bdquo;Benutzer verwalten" zu.</li></ol><p><strong>Achtung:</strong> Wenn Sie Benutzern die Berechtigung &bdquo;Benutzer verwalten" zuweisen, k&ouml;nnen diese Passw&ouml;rter von Administratorkonten oder E-Mail-Adressen von Administratoren &auml;ndern oder sogar das Administratorkonto der Website l&ouml;schen. Das Modul <a href=":user_protect">User Protect</a> kann dies verhindern.</p><h2>Anwendung</h2><ol><li>Melden Sie sich mit einem Benutzer an der Website an, der &uuml;ber die Berechtigungen &bdquo;Rollen zuweisen&ldquo; und &bdquo;Benutzer verwalten&ldquo; verf&uuml;gt.</li><li>Um die Rollen eines Benutzers zu &auml;ndern, gehen Sie zum Benutzerkonto des Benutzers, &uuml;berpr&uuml;fen Sie die zuweisbaren Rollen und &auml;ndern diese gegebenenfalls ab.</li></ol>
joachim namyslo’s picture

Status: Needs work » Needs review
joachim namyslo’s picture

Status: Needs review » Postponed (maintainer needs more info)
salvis’s picture

Yes, this validates fine at https://validator.w3.org/#validate-by-upload

Thank you, Joachim Namyslo!

salvis’s picture

Status: Postponed (maintainer needs more info) » Reviewed & tested by the community
joachim namyslo’s picture

Status: Reviewed & tested by the community » Postponed (maintainer needs more info)

Sekunde, da hängt noch ein referenzierte Issue dran. Der Fehler ist ja nicht etwa von uns. Der Fehler ist im Modul. Da haben wir aber noch keine Antwort. ergo ist der Status hier nach wie vor...

salvis’s picture

Ah, ok, ich werde das flicken.

Brauchst Du einen Release für die Translations?

joachim namyslo’s picture

Solange die Zeichenfolgen in allen 3 betroffenen Ausgaben keinen Break-Tag mehr enthalten brauche ich keine neue. Nur den Patch für die jeweilige Release muss das dann halt jemand committen. Ich glaube nicht, dass es neue Releases braucht, damit der Server das übernimmt. So einen Fall hatte ich bis jetzt noch nicht.

salvis’s picture

Status: Postponed (maintainer needs more info) » Active

3 Ausgaben? Ich hab's für 7.x-1.x-dev und 8.x-1.x-dev committed.

Brauchst Du mehr?

joachim namyslo’s picture

Die andere ist die 6.x https://localize.drupal.org/translate/languages/de/translate?sid=204088 Da war Pagebreak vielleicht in Hilfetexten noch erlaubt. Die braucht nicht unbedingt nen Patch. Ich übersetz die dann einfach mit und lass sie zu, dann ist das Modul zu 100 % fertig.

salvis’s picture

Oh, Du unterhältst die D6 immer noch? Wenn Du willst, kann ich sie noch ändern — schreib's mir einfach.

Vielen Dank für Deine Arbeit!

joachim namyslo’s picture

In dem Fall ja. Mir ist ein aufgeräumtes Projekt lieber, als das einhalten irgendwelcher Lebenszyklen. Wenn es dir also keine Umstände bereitet, kann ein Patch nicht schaden.

salvis’s picture

Ist gemacht. :-)

joachim namyslo’s picture

@Salvis Ich hab immer noch keine neune Zeichenfolgen auf dem Server. Kann das sein, dass der Maintainer dass nicht commited hat?

joachim namyslo’s picture

Ok ich hab in jedem nicht übersetzen String noch ein break drin

https://localize.drupal.org/translate/languages/de/translate?project=rol...

Ich mach den Issue jetzt mal zu. Ob das jetzt in 8 und 9 funktioniert, werde ich mit der nächsten Varbase-Installation testen.

Wenn der Server den String nicht zieht, müssen wir noch mal nachsehen, was mit dem Hilfetext nicht stimmt.

joachim namyslo’s picture

Status: Active » Fixed
joachim namyslo’s picture

Eigentlich ist hier trotz zurücksetzen sämtlicher Versionen von Übersetzungen alles beim Alten. Die Zeichenfolgen mit dem Break-Tag sind nach wie vor auf dem Server zu finden und der Hilfetext lässt sich in keiner der Versionen übersetzen und das trotz eines entsprechenden patches. Ich bin an der Stelle mal ehrlich: Ich mach das Ding jetzt zu und seh mir das vielleicht noch mal an, wenn Varbase in Version 9 vorliegt. Module die sich nicht zu 100 % übersetzen lassen regen mich einfach auf. Leider ist Role-Assign da kein Einzelfall.

joachim namyslo’s picture

Status: Fixed » Closed (won't fix)
joachim namyslo’s picture

Status: Closed (won't fix) » Postponed (maintainer needs more info)
joachim namyslo’s picture

Hopefully next beta will bring this changes alive

joachim namyslo’s picture

Title: RoleAssign » Role Assign-old helptext-bug
Status: Postponed (maintainer needs more info) » Closed (won't fix)
joachim namyslo’s picture

Thanks to the release of version 2.0.0 of the module, the bug is fixed at least for 9.1 and 10

Despite the hiding of the help text in the UI, an error is still seen when importing the detuschen translation when the version 9.x of the module is installed.

This means that, for example, when installing Varbase 9, this error appears again and again, even though the developers have programmatically hidden the help text for 9.x.

If anyone knows how to remove the Po file for version 9.x from the server and then recreate it without the string in question, that would be very helpful. It would be even better if the po file could be edited on the server directly, so that the translatiion, that was deleted long time ago, via ui wouldn't be present any longer insde the downloadable .po-file. I will do the devil to allow a translation of the help text for the version 9.x once again.

Otherwise that Issue will clearly, renain for d 5 d 6 and D7. Thank god D7 will be tsgged EOL later that year.

Nevertheless such errors (in this case a !--break-- Tag was inserted in the original string) are very annoying from the point of view of us translators, because we can't translate modules which are afflicted with this kind of error 100%.

To prevent this in the future, Drupal now has the feature:

https://api.drupal.org/api/drupal/core%21modules%21locale%21locale.modul...

with which programmers can avoid such errors in the future before providing a release. For the 2.0.0 branch of RoleAssign there is as of today again a properly translated help text from which the corresponding tag was removed by the developers. Thank you so much.

Since the new Release 2.0.0 is compatible with D9, too that bug is finally fixed fpr D9 and D10 In D7 that bug can still occur.

If so, you can add the new translation of the help-text manually:

        <p>RoleAssign ermöglicht es Website-Administratoren, die Aufgabe der Verwaltung von Benutzerrollen weiter zu delegieren.</p>
        <p>RoleAssign führt eine neue Berechtigung namens Rollen zuweisen ein. Benutzer mit dieser Berechtigung können ausgewählte Rollen an andere Benutzer zuweisen. Nur Benutzer mit der Berechtigung Rollen und Berechtigungen verwalten können auswählen, welche Rollen für die Zuweisung durch dieses Modul verfügbar sind.</p>
        <h2>Hintergrund</h2>
        <p>Website-Administratoren können die Benutzerverwaltung über die Berechtigung „Rollen und Berechtigungen verwalten" an andere Benutzer der Website delirieren. Dies beinhaltet jedoch nicht die Berechtigung „Rollen und Berechtigungen verwalten“. Diese Berechtigung ist erforderlich, wenn die beauftragte Person in der Lage sein soll, Benutzerkonten ohne Eingreifen eines Website-Administrators zu verwalten.</p>
        <p>Um die Zuweisung von Rollen zu delegieren, hatten Website-Administratoren bisher keine andere Wahl, als auch die
        Berechtigung Rollen und Berechtigungen verwalten zu erteilen. Das ist aber nicht ratsam, diese Berechtigung die Möglichkeit eröffnet, auf alle Rollen zuzugreifen, und
        schlimmer noch, jeder Rolle beliebige Berechtigungen zu erteilen. Das kann von Personen, die mit der vergabe von Rechten an andere Benutzer beauftragt sind missbraucht werden, indem diese sich selbst alle Berechtigungen zuweisen und damit die vollständige Kontrolle über die Website übernehmen können.</p>
        <p>Dieses Modul löst dieses Dilemma durch die Einführung der Berechtigung „Rollen zuweisen". Bei der Bearbeitung der
        Kontoinformationen eines Benutzers kann ein Benutzer mit dieser Berechtigung Rolen zuweisen Rollen aus einer vordefinierten Liste auswählen, um diese dann einem Benutzer zuzuweisen. Die verfügbaren Rollen werden von Benutzern mit der Berechtigung Rollen und Berechtigungen verwalten konfiguriert.</p>
        <h2>Konfiguration</h2>
        <ol>
          <li>Melden Sie sich als Administrator der Website an.</li>
          <li>Gehen Sie zur Verwaltungsseite für die Zugriffskontrolle und erteilen Sie den Rollen, die anderen Benutzern Rollen
          zuweisen können sollen, die Berechtigung Rollen zuweisen. Beachten Sie, dass diese Rollen neben der Berechtigung „Rollen
          zuweisen" auch die Berechtigung „Benutzer verwalten" haben müssen.</li>
          <li>Rufen Sie die Verwaltungsseite für die Rollenzuweisung auf und wählen Sie die Rollen aus, die für die Zuweisung durch
          Benutzer mit der Berechtigung „Rollen zuweisen" verfügbar sein sollen.</li>
          <li>Für jeden Benutzer, der in der Lage sein soll, Rollen zuzuweisen, öffnen Sie die Kontoiformationsseite des jeweiligen Benutzers und weisen diesem eine
          Rolle zu, die über die Berechtigungen Rollen zuweisen und Benutzer verwalten verfügt.</li>
        </ol>
        <p><strong>Vorsicht!</strong> Wenn Sie Benutzern die Berechtigung „Benutzer verwalten" erteilen, können sie Administratorkennwörter oder
        E-Mail-Adressen ändern oder sogar das Konto des Website-Administrators löschen. Das Modul<a href=":user_protect">User Protect</a> kann dies verhindern.</p>
        <h2>Verwendung</h2>
        <ol>
          <li>Melden Sie sich ein als Benutzer an, der sowohl die Berechtigung Rollen zuweisen als auch die Berechtigung Benutzer
          verwalten besitzt.</li>
          <li>Um die Rollen eines Benutzers zu ändern, gehen Sie zum Konto des Benutzers und überprüfen Sie die zugewiesenen Rollen und
          ändern diese bei Bedarf.</li>
        </ol>
joachim namyslo’s picture

Status: Closed (won't fix) » Needs work
joachim namyslo’s picture

Status: Needs work » Fixed

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.