Uploaded image for project: 'translate5'
  1. translate5
  2. TRANSLATE-1946

Enable live translation based on visualReview based on offline-capable HTML

      Alle Infos zur Konzeption finden sich in Confluence unter https://confluence.translate5.net/display/MI/Live-Editing+concept

      • enable translate5 to link the source segments instead of the target segments for translation tasks (there is a flag in translate5 that shows, if a task is a translation task)
      • small red bubble for changed segments in proofreading tasks. No icon is used for translated segments. Instead:
        • a new toggle-button is introduced, that - when activated - highlights all untranslated text (still in the source language) with a light blue background.
      • hovering over a segment in layout shows a tooltip with the original source (for translation tasks) and the original target with trackChanges marks (for proofreading tasks)
      • layout changes are done on segment saving
      • layout changes are persistent on each segment saving (meaning after reloading the task they are still present)

      Pre-condition: the text-flow in the HTML is "native", meaning that if the text grows through the translation, the HTML simply grows in the layout without any problems caused by overflows of absolute positioned HTML segments or similar cases.

      Quick-Notes for Visual 59/60 by Stephan

      Warum es nicht so einfach ist in einem (PDF2-) HTML Dokument einen Text zu ersetzen.
      
      Sollen die Inhalte von erkannten Segmenten in einer HTML-Datei ersetz werden, stellen sich folgende Aufgaben:
      
      
      Was tun mit Tags die im Segment enthalten sind?
      Es ist nicht einfach möglich von den in einem Segment in Translate5 gespeicherten Tags auf Tags innerhalb der HTML-Datei zu schließen.
      Bsp.:
      "Hallo<br><strong>Welt</strong>"
      Ist im Segment in Translate5 evtl. sowas:
      "Hallo <tag>Welt<tag>"
      Das im Original enthaltene <br> ist hier nicht zu finden. Wo soll das also im zu ersetzenden Text sein?
      
      Das Gleiche gilt auch für Sonstige im HTML innerhalb des Segments enthaltene Tags, bsw.
      "Teil 1.</p><p>Und weiter geht's"
      
      Wird das dann also:
      "Neu</p><p>ist jetzt alles" oder
      "Neu ist</p><p>jetzt alles" oder
      "Neu ist jetzt</p><p>alles" oder
      
      
      
      Speziell in PDF2HTML-HTML:
      
      -	Hier haben die einzelnen Inhalte keinen semantischen Bezug. Es werden hier leidiglich Text-Bausteine, per absoluter Positionierung, munter über die gesamte Seite verteilt.
      
      -	Segmente sind in diesem HTML nicht in der "optischen" Reihenfolge (von oben nach unten), sondern in der Reihenfolge der Erzeugung im Original-Dokument (InDesign, Powerpoint, ..)
      
      -	"Hallo<br><strong>Welt</strong>" ist also evtl. sowas:
      	<div class="xyz">Hallo</div>
      	<div class="xyz">Welt</div>
      	die Angaben in class="xyz" entscheiden über Position, Schrift, Farbe etc.
      	Positioniert können diese einzelnen Schnippsel, neben oder auch untereinander sein.
      
      -	"Hallo (c) Welt" ist sowas:
      	<div class="xyz">Hallo</div>
      	<div class="xyz">(c)</div>
      	<div class="xyz">Welt</div>
      	wobei der Teil mit (c) sowohl eine andere X- als auch eine andere Y-Position (left, bottom) als die anderen beiden Elemente haben kann.
      	Dadurch müsste beim Ersetzen von "Hallo" das folgende "(c)" nach links oder rechts geschoben werden, bis es wieder passt.
      
      -	Jede einzelne Zeile ist ein DIV-Block:
      	Wird nun Text geändert, müssten die Texte in allen einzelnen Zeilen ersetzt werden.
      	Dazu müssen:
      	1. alle Zeilen mit der Breite der längsten Zeile ausgestattet werden (laut Marc, wobei das bei bewusst unterschiedlichen Zeilenlängen auch zu Problemen führt, bspw "Text umfließt Bild")
      	2. der neue Text dann Wort für Wort in die Zeilen gefüllt und immer geschaut ob der Text noch rein passt. Ist er zu breit, dann muss der Rest des Textes in die nächste Zeile.
      	Bleibt dann am Ende noch Text übrig, müssen neue Zeilen eingefügt werden. Wo (X/Y-Position)?
      	Werden neue Zeilen eingefügt, müssen sämtliche weiteren Elemente auf der Seite nach unten verschoben werden, ABER:
      	- nur die darunterliegenden;
      	- nur die die es betrifft, also bspw. "daneben liegende" eben nicht. Oder doch?
      
      
      Probleme beim "Nach unten Schieben":
      - Ist Text in einem Kasten, dann ist dieser Kasten als Bild im Hintergrund.
      Werden nun Inhalte nach unten verschoben, dann fällt der Inhalt aus dem Kasten herraus.
      Oder wurde Inhalt VOR einem Kasten nach unten verschoben, dann fängt der Inhalt im folgenden Kasten gar nicht mehr im Kasten an.
      - Wenn Segment 2 direkt an Segment 1 angehängt ist, also nicht mal in einer neuen Zeile, sondern bspw. nur als neuer Satz innerhlab eines großen Textblocks.
      Dann müsste Segment 2 ja nicht nach unten sondern "nach rechts" verschoben werden.
      
      Problem bei Text einfügen:
      - automatische Silbentrennung!!! Das können Satzprogramme ganz gut. Browser oder JS/PHP-Logik aber überhaupt nicht.
      
      
      Zeilenhöhe:
      Die Elemente die Pdf2Html erzeugt haben (meist) keine vernünftige Zeilenhöhe. Den Inhalt also einfach zu erweitern und automatisch umbrechen zu lassen geht so nicht.
      Insbesondere schwierig ist hier:
      Hat ein Element nur eine Zeile und wird erst durch das Editieren 2-zeilig ist absolut keine Information über Zeilenhöhe vorhanden.
      
      
      

            axelbecher Axel Becher
            marcmittag Marc Mittag [Administrator]
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: