2.8.2 ErsetzeText für Text in mehreren Sprachen

Wie im Kapitel ErsetzeText für Text beschrieben können Wörter, Textpassagen oder sogar ganze Sätze vollautomatisch ersetzt werden.
Dieses Kapitel ist relevant, wenn die Funktion in mehrsprachigen Dokumenten verwendet werden soll.

Ein Beispiel dafür ist das Wort "Umsatzsteuer" in Honorarnoten, in bestimmten Fällen möchte man dieses durch "Mehrwertsteuer/VAT" ersetzen.
Das Wort steht aber nicht als Klartext in der Vorlage für Honorarnoten sondern ist im ADVOKAT-Programm vordefiniert und kann dort nicht geändert werden.

Voraussetzungen

  1. Die Funktion kann nur in RTF- und DOCX-Vorlagen verwendet werden. Eine Verwendung in CSV- oder XLSX-Vorlagen ist nicht möglich.

Hinweise

In diesem Fall ist die Erstellung und Bearbeitung ausschließlich in DOCX-Vorlagen beschrieben.
Die Verwendung in RTF-Vorlagen wird wie im Absatz Voraussetzungen ersichtlich zwar unterstützt, wir raten davor aber ab.
Es wird sonst bei der Konvertierung RTF- auf DOCX-Vorlagen zu Problemen mit der Funktion ErsetzeText kommen.

Anleitung

  1. Öffnen Sie die relevante Vorlage mit Microsoft Office Word. Eine Übersicht aller Vorlagen finden Sie hier.
    In diesem Beispiel wird ein Teil der Vorlage "...\ADVOKAT\Daten\Vorlagen\OP\HNBau.docx" angepasst.

  2. Navigieren Sie zu jenem XML-Befehl, welcher das zu ersetzende Wort ausgibt. Das ist in den meisten Fällen der Befehl <TextZW/>.
    Ersetzen Sie den XML-Befehl <Text/> durch <ErsetzeText1/>/<ErsetzeText2/>.

     

  3. Suchen Sie den Eintrag <template match ....>, welcher den XML-Befehl <Text/> umschließt. Ergänzen Sie dort den XML-Befehl Variable="ErsetzeText1, ErsetzeText2".

  4. Suchen Sie den Eintrag </template> welcher zum <template match ...> laut Punkt 3 gehört. In einer neuen Zeile danach fügen Sie die Funktion wie folgt ein:

    <functions> <ErsetzeText1 Param="TextZW"> ErsetzeText1 = TextZW ErsetzeText1 = Replace(TextZW, "Umsatzsteuer", "Mehrwertsteuer") If TextZW = "Barauslagen USt-pflichtig" Then ErsetzeText1 = "Barauslagen (MWSt-pflichtig)" If TextZW = "Barauslagen USt-frei" Then ErsetzeText1 = "Barauslagen (MWSt-frei)" </ErsetzeText1> <ErsetzeText2 Param="TextZW"> ErsetzeText2 = TextZW ErsetzeText2 = Replace(TextZW, "Umsatzsteuer", "VAT") If TextZW = "Barauslagen USt-pflichtig" Then ErsetzeText2 = "Disbursements (liable to VAT)" If TextZW = "Barauslagen USt-frei" Then ErsetzeText2 = "Disbursements (not liable to VAT)" </ErsetzeText2> </functions>

    Aufgrund der Zeile ErsetzeText1 = Replace(ErsetzeText1, "Umsatzsteuer", "Mehrwertsteuer") wird das erste Wort durch das Zweite in der ersten gewünschten Sprache ersetzt.
    Aufgrund der Zeile If TextZW = "Barauslagen USt-pflichtig" Then ErsetzeText1 = "Barauslagen (MWSt-pflichtig)" wird die erste Textpassage durch die Zweite in der ersten gewünschten Sprache ersetzt.
    Die Zeilen ErsetzeText1 = Replace... und If TextZW = ... können beliebig oft für beliebige Wörter, Textpassagen und Sätze eingefügt werden.

    Aufgrund der Zeile ErsetzeText2 = Replace(ErsetzeText1, "Umsatzsteuer", "VAT") wird das erste Wort durch das Zweite in der zweiten gewünschten Sprache ersetzt.
    Aufgrund der Zeile If TextZW = "Barauslagen USt-pflichtig" Then ErsetzeText2 = "Disbursements (liable to VAT)" wird die erste Textpassage durch die Zweite in der zweiten gewünschten Sprache ersetzt.
    Die Zeilen ErsetzeText2 = Replace... und If TextZW = ... können beliebig oft für beliebige Wörter, Textpassagen und Sätze eingefügt werden.

    Wichtig beim Einfügen der Funktion (<functions> bis </functions>) ist, dass alle Zeilen sich innerhalb eines "Nur-Text-Inhaltssteuerelementes" befinden.
    Die einzelnen Zeilen der Funktion müssen mit weicher Zeilenschaltung getrennt werden. Das Inhaltssteuerelement muss die Option "Wagenrücklauf zulassen" aktiviert haben.
     

  5. Speichern Sie die Datei, ein Neustart von ADVOKAT ist nicht erforderlich. Das Ergebnis sieht wie folgt aus:


Copyright © 2024 ADVOKAT Unternehmensberatung GREITER & GREITER GmbH - Impressum ->https://advokat.at/Impressum.aspx