TDF Wiki/Mehrsprachigkeit

    From The Document Foundation Wiki
    This page is a translated version of the page TDF Wiki/Multilingual and the translation is 100% complete.

    Diese Seite betrifft das Mehrsprachige Wiki Inhalt des TDF Wiki.

    Warning.svg

    Information
    Verwenden Sie für neu zu erstellende Seiten nicht den OrigLang-Typ für Übersetzungen.
    Wir stellen derzeit auf die MediaWiki Übersetzungs-Erweiterung um.

    Hintergrund

    Diese Seite enthält einige wichtige Hinweise für Wiki-Redakteure. Bitte lesen Sie diese Seite, bevor Sie übersetzte oder lokalisierte Inhalte zum Wiki hinzufügen.

    Inhalt mit lokalem Schwerpunkt

    Diese Seiten sind nur in ihrer Landessprache geschrieben und werden nicht übersetzt. Sie sind Unterseiten einer Seite, die nach dem Sprachcode in Großbuchstaben benannt sind.

    Beispiele:

    
     https://wiki.documentfoundation.org/DE/Team
     https://wiki.documentfoundation.org/DE/Veranstaltungen
     ...
     https://wiki.documentfoundation.org/FR/Documentation/Publications
     
    

    Inhalte mit globalem Fokus

    Die Seiten werden auf Englisch erstellt und dann erst in verschiedene Sprachen übersetzt. Die übersetzten Seiten sind Unterseiten, die nach ihrem Sprachcode benannt sind. Der Übersetzungsprozess wird von der Translate-Erweiterung durchgeführt.

    Gehen Sie folgendermaßen vor, um eine Seite übersetzbar zu machen:

    1. Fügen Sie Inhalte, die übersetzt werden müssen, in <translate></translate>-Blöcke ein.
    2. Verwenden Sie den Vorsatz Special:MyLanguage, um Links zu lokalen übersetzbaren Seiten zu setzen
    3. Fügen Sie den Sprachmenü-Block <languages/> hinzu.
    4. Nachdem Sie die Seite gespeichert haben, klicken Sie oben auf den Link "Diese Seite für die Übersetzung markieren".
    5. Prüfen Sie, ob alles in Ordnung ist, und klicken Sie unten auf die Schaltfläche "Diese Version für die Übersetzung markieren".

    Nachdem die Seite zur Übersetzung markiert wurde, fügt die Translate-Erweiterung automatisch Markierungen in Form von <!--T:1--> hinzu, um übersetzbare Zeichenfolgen zu kennzeichnen. Um automatisch in eine Zeichenkette getrennt zu werden, muss ein Textblock von Leerzeilen umgeben sein. Um die Trennung von Zeichenketten zu erzwingen, können Sie weitere <translate></translate>-Blöcke hinzufügen. Achten Sie besonders auf Aufzählungen oder nummerierte Listen.

    Wenn Sie Inhalte auf der Ausgangsseite hinzufügen oder ändern, wird dies oben auf der Seite angezeigt: Diese Seite hat sich seit der letzten Markierung zur Übersetzung geändert. Klicken Sie auf den Link "Zur Übersetzung markiert", um das Übersetzungssystem auf den neuesten Stand zu bringen, und folgen Sie dabei demselben Verfahren wie bei der ursprünglichen Markierung zur Übersetzung.

    Tipps

    Im Idealfall sollten die Übersetzer nur ein Minimum an Wiki-Auszeichnungen sehen. Markup für eine Tabelle oder eine Vorlage in der übersetzbaren Zeichenfolge ist frustrierend und verwirrend für den Übersetzer. Versuchen Sie, solche Markierungen außerhalb der <translate></translate>-Blöcke zu lassen.

    Der Seitentitel ist standardmäßig übersetzbar, aber Sie können dies mit dem Kontrollkästchen "Übersetzung des Seitentitels zulassen" steuern, wenn Sie eine Seite für die Übersetzung markieren. Der Seitentitel ist die erste übersetzbare Zeichenfolge in der Liste der Zeichenfolgen. Im Übersetzungssystem und in der Schnittstelle hat die Zeichenkette einen Namen wie "Übersetzungen:Faq/Allgemein/127/Seitentitel/ru", während die anderen Zeichenkettennamen numerische Bezeichner haben, wie die "4" in "Übersetzungen:Faq/Allgemein/127/4/ru".

    Manchmal ist es erforderlich, einer Seite einen Anzeigetitel zu geben, der sich von dem Namen im Seitenpfad unterscheidet. Dies ist jedoch nicht empfehlenswert und sollte vermieden werden. In diesen Fällen verwenden Sie die Vorlage Umbenennen wie folgt: {{Rename|Mein neuer Name}}. Die Vorlage stellt sicher, dass in den übersetzten Seiten keine Fehler in Bezug auf den Titel auftreten.

    Man kann die Übersetzung teilweise aktualisieren und den Status als veraltet belassen, in dem man auf das nach unten gerichtete Dreieck neben der Übersetzungseinheit klickt und Show in wiki editor auswählt. Sie werden auf eine separate Bearbeitungsseite weitergeleitet, wo Sie ihre Änderungen durchführen können, während das Kennwort !!FUZZY!! am Anfang des Textes intakt bleibt.

    Manchmal muss man auf die englische Wiki-Quelle ohne die <!--T:1-->-Markierungen zugreifen. Dies kann erreicht werden, indem man /en am Ende des Seitenpfades hinzufügt und dann den Quelltext bearbeitet. Auf diese Weise können Sie eine Seitenstruktur in eine neue Seite kopieren (z. B. Versionshinweise).

    Bei der Arbeit mit vielen Übersetzungsblöcken kann es passieren, dass man beim Öffnen oder Schliessen der "translate"-Tags Fehler macht. Bei einer solchen Situation zeigt die Seitenvorschau alle "translate" Markierungen entlang des Inhalts. Klicken auf Änderungen speichern hat überraschend nützliche Effekte. Trotz des Speicherns zeigt es eine reduzierte Ansicht des Quelltextes an, so dass Sie ihren Fehler finden können.

    Wenn Sie Blöcke haben, die nur eine einzige Zahl enthalten, können Sie das Zauberwort {{{formatnum:1234}} anstelle eines Übersetzungsblocks verwenden. Die Zahl wird dann automatisch für nicht-westliche Stile formatiert, falls erforderlich. Am besten verwendet man den Parameter NOSEP für ganze Zahlen, um das Tausendertrennzeichen nicht anzuzeigen, da es Leser verwirren kann. Für Dezimalzahlen nimmt man besser nicht NOSEP, weil es die Lokalisierung des Dezimalpunktes überspringt.

    Nachfolgend sehen Sie ein Beispiel für eine Seite, die für die Übersetzung vorbereitet wurde. Beachten Sie die Trennung von Aufzählungsliste und Inhalt in einer Tabelle.

     {{TopMenu}}
     {{Menu}}
     {{Menu.Documentation}}
     <languages/>
    
     <translate>
     == Hello World ==
    
     * We must take the world as we find it
     * When we are gone, let the world be flooded
     * The world is as fools wish it to be
     * It's a small world!
     </translate>
     <translate>
     * Crows are black the world over
     * He slipped once and all the world knew about it
     * The world is like a market, the one does business and the other does none
     * Huge though the world is, I always miss when I hit at it
     </translate>
    
    
     {| class="wikitable"
     |-
     | <translate>Cell content</translate>
     |-
     | {{sometemplate|<translate>Text content for a template</translate>}}
     |-
     | <bdi>{{formatnum:-1.10714871779409}}</bdi>
     |-
     | {{formatnum:110714871779409|NOSEP}}
     |}
    
     [[Special:MyLanguage/Development/Create_a_Hello_World_LibreOffice_extension|<translate>Tutorial on creating a Hello World extension</translate>]]
    
     [[Category:Documentation]]
     
    

    Da die Vorbereitung von Tabelleninhalten für die Übersetzung lästig sein kann, wurde ein Hilfsskript erstellt. Verwenden Sie es, indem Sie einen Wiki-Artikel in eine lokale Textdatei kopieren und den Dateinamen als Argument für das Skript angeben. Der Inhalt der Datei wird an dieser Stelle neu geschrieben. Das Zauberwort formatnum wird für Ganzzahl-, Fließkomma- und komplexe Zahlen angewendet, wenn sie der einzige Inhalt einer Tabellenzelle sind. Das Skript hängt von den Paketen wikitextparser, regex und wcwidth ab. Klicken Sie auf Erweitern, um das Skript zu sehen.

    
    #!/usr/bin/env python3
    #
    # uses the library https://github.com/5j9/wikitextparser
    import sys
    import wikitextparser as wtp
    
    def is_float_or_complex(value):
        try:
            float(value)
            return True
        except:
            return False
        try:
            complex(value)
            return True
        except:
            return False
    
    def wrap_translate(string):
        if string.endswith(('}}', '</translate>')) or (len(string) < 2 and not string.isnumeric()):
            return string
        elif string.isnumeric() or is_float_or_complex(string):
            if string.isnumeric():
                format_end = '|NOSEP}}'
            else:
                format_end = '}}'
            # Add bdi element so minuses will stay in place with RTL languages
            if string[0] == '-':
                return ' <bdi>{{formatnum:' + string + format_end + '</bdi> '
            else:
                return ' {{formatnum:' + string + format_end + ' '
        else:
            return ' <translate>' + string + '</translate> '
    
    with open(sys.argv[1]) as f:
        doc = f.read()
    
    p = wtp.parse(doc)
    tables = p.get_tables()
    
    for t in tables:
        if t.caption:
            caption = t.caption.strip()
            if len(caption) > 0:
                t.caption = wrap_translate(caption)
        for row in t.cells():
            for cell in row:
                c = cell.value.strip()
                if len(c) > 0:
                    cell.value = wrap_translate(c)
    
    with open(sys.argv[1], 'w') as f:
        f.write(p.string)
    
    

    Migration von alten übersetzten Inhalten in das aktuelle System

    In der Vergangenheit verwendete das TDF-Wiki einen Übersetzungsprozess, der Vorlagen namens OrigLang und Lang verwendete. Die Vorlagen zeigten ein Menü an, das die Ausgangsseite mit den übersetzten Seiten verknüpfte. Sie können alle übersetzten Inhalte, die die Lang-Vorlage verwenden, in dieser Liste finden: Special:WhatLinksHere/Template:Lang. Ebenso können Sie die Seiten mit OrigLang-Vorlage auflisten.

    Die Übersetzungserweiterung verfügt über ein Migrationstool, das dabei hilft, bereits übersetzte Inhalte in das neue System zu übertragen. Wenn die Quell- und Übersetzungsblöcke genau übereinstimmen, ist die Migration sehr einfach. Andernfalls müssen Sie Zeichenfolgen zwischen den Eingabefeldern ausschneiden und einfügen.

    Die Migration verläuft folgendermaßen:

    1. Nachdem Sie eine Seite zur Übersetzung markiert haben, warten Sie einige Minuten, damit der Server die Seite verarbeitet hat.
    2. Navigieren Sie zu Special:PageMigration
    3. Geben Sie in das Eingabefeld den Sprachpfad der Seite ein, die Sie migrieren möchten, z.B: Mypath/Mypage/de für eine imaginäre deutsche Übersetzung
    4. Klicken Sie auf die Schaltfläche Importieren
    5. Bereinigen Sie den Inhalt der Eingabefelder, die die alten Übersetzungen enthalten (entfernen Sie z. B. alle überflüssigen Menüvorlagen).
    6. In der Spalte mit den Übersetzungen können Sie keine leeren oder zusätzlichen Eingabefelder am Ende stehen lassen, also löschen Sie sie, indem Sie auf das Mülleimer-Symbol neben ihnen klicken.
    7. Nachdem Sie aufgeräumt und alles in Ordnung gebracht haben, klicken Sie auf die Schaltfläche Speichern.

    Denken Sie daran, dass Sie jederzeit die alte Version einer übersetzten Seite einsehen können, indem Sie den Link Verlauf anzeigen verwenden und auf eine alte Version klicken.

    Wenn Sie die Quelle einer alten Revision einsehen möchten, kopieren Sie den Link aus der Historie und besuchen Sie den Link, nachdem Sie ihn am Ende hinzugefügt haben: &action=edit

    Manchmal ist es nicht sinnvoll, das Migrationstool zu verwenden. Wenn Wiki-Auszeichnungen außerhalb der Übersetzungselemente bleiben, verwirrt das Tool oft. In diesen Fällen können die Vorschläge des Translation Memory nützlicher sein.

    Meldungen in der Seitenleiste

    Um die Texte "Get Involved" und "Support LibreOffice!" zu übersetzen, müssen Sie die Übersetzungen an einen der wiki-Administratoren schicken. Die anderen sind Systemmeldungen, die im vorgelagerten MediaWiki übersetzt werden.

    Die Übersetzung der zusätzlichen Sidebar-Elemente wurde anhand der Schritte auf der Hilfeseite der Translate-Erweiterung für unstructured element translation eingerichtet. Die Administratoren müssen lediglich Special:Translate/wiki-sidebar besuchen, um die Nachrichten zu übersetzen.

    Die Links "Main Page" und "Get Involved" verwenden das Präfix Special:MyLanguage, wodurch sie zu einer übersetzten Seite führen, sofern diese verfügbar ist.