Übersetzungen#

Auch wenn Englisch die offizielle Sprache für alle UBports-Projekte ist, glauben wir, dass Nutzer ein Recht darauf haben, in jeglicher Sprache zu partizipieren, wie sie wollen.

Jeder kann selbst entscheiden, wie viel Zeit er in die Übersetzungen investiert, ob Minuten oder Stunden, jeder Beitrag zählt.

How does a text get translated (technical background)#

‎Die meisten Apps, die auf Ubuntu Touch laufen, verwenden GNU gettext für Übersetzungen. Eine .pot-Vorlagendatei‎‎ enthält App-Zeichenfolgen. Aus dieser Vorlage wird für jede Sprache eine einzelne .po-Datei‎‎ abgeleitet. Diese .po-Dateien‎‎ enthalten die eigentlichen Übersetzungen. Um eine neue Sprache hinzuzufügen, muss eine neue .po-Datei‎‎ erstellt werden. Um eine Zeichenfolge zu übersetzen, muss die .po-Datei‎‎ bearbeitet werden. Neben der ursprünglichen Zeichenfolge (meistens Englisch) muss die entsprechende Übersetzung gemäß der .po gettext Dateisyntax eingegeben werden. Einige Apps verwenden QtLinguist für die Übersetzung. Es folgt den gleichen Prinzipen, aber mit .ts-Dateien‎‎ für Übersetzungen mit einer anderen Syntax. Als Vorlage wird eine .ts-Datei‎‎ verwendet.

Within an app strings are marked either this way i18n.tr("string") when using gettext or like this tr("string") when using QtLinguist. When the app is built those translatable strings are extracted and written into the .pot or .ts template files. The .po and .ts language files then need to be updated from their template.

‎Sobald Zeichenfolgen übersetzt wurden, werden sie Benutzern mit einer neuen Version der App zur Verfügung gestellt.

Übersetzerwerkzeuge#

There are three commonly used ways to translate an app:

  • Weblate: A web based translation tool. UBports apps using Weblate can be translated at the UBports translation projects dashboard and the Lomiri translation projects dashboard. There is an automatic transfer of new strings from an apps repo to weblate. Translated strings get back as commits to the repo from weblate.

  • Editor: Translation is done by changing .po files with the editor of your choice, and a GitHub/GitLab account. The .po/.ts files for each project are in their repository on our GitLab organization or on our GitHub organization. After translating the translator commits new translations to an apps repo generally by opening a merge request/pull request.

  • Team translation: We also have a Translation Forum to discuss translating Ubuntu Touch and its core apps. Some projects are using Telegram or Matrix groups too, and some teams are still using the Ubuntu Launchpad framework.

Core apps and some community apps like dekko or TELEports are generally using weblate for translation. This is the preferred way to translate and it does not need any programming skills. Please have a look at the UBports translation projects dashboard and the Lomiri translation projects dashboard. When using weblate do not edit .po files manually. Commiting edited .po files can break the automated process of translation.

‎Die meisten Apps, die von einzelnen Entwicklern verwaltet werden, verwenden hauptsächlich ‎‎.pot*‎‎/*‎‎.po-Dateien für die Übersetzung. Diese müssen in der Regel manuell bearbeitet und in das App-Repository übertragen werden.

Anleitung#

Hosted Weblate#

You can go to UBports translation projects dashboard or the Lomiri translation projects dashboard, go to a project, and start making anonymous suggestions without being registered. If you want to save your translations, you must be logged in.

Dazu in UBports Weblate auf „Register“ klicken. Auf der Registrierungsseite findet man zwei Optionen:

  • Registrierung mittels gültiger E-Mail-Adresse, Nutzername und vollständiger Name. Dabei muss eine einfache Kontrollfrage beantwortet werden.

  • Registrierung mittels anderer Webseite. Aktuell unterstützt das System Konten von openSUSE, GutHub, Fedora und Ubuntu.

Once you’re logged in, the site is self-explanatory and there you’ll find all the options and customization you can do.

Jetzt kann es los gehen. Der erste Schritt ist zu schauen, ob die Sprache im jeweiligen Projekt bereits existiert. Falls eine Sprache für das ensprechende Projekt noch nicht verfügbar ist, kann man diese selbst hinzufügen.

Editor für .po/.ts-Dateien#

Wenn man direkt mit .po/.ts-Datei arbeiten will, muss man genau wissen was man tut. Was man dabei immer beachten muss:

Warnung

Man darf niemals .po-Dateien in einem Commit zu Projekten hinzufügen die Weblate nutzen. Das kann den kompletten Übersetzungsprozess mit Weblate unbrauchbar machen.

Wie oben erwähnt, wird ein Editor der freien Wahl benötigt und ein GitHub/GitLab-Konto, um .po/.ts-Dateien direkt zu übersetzen. Idealerweise hat man Clickable eingerichtet und weiss wie man ein App baut.

There are online gettext .po editors and those you can install on your computer. You can choose whatever editor you want, but we prefer to work with free software only. There are too many plain text editors and tools to help you translate .po/.ts files to list here.

Bemerkung

For high quality translations it is recommended to go through all of the steps given below. Although if you are not familiar with building apps using clickable, skip the steps 4. to 6. Although, you may not be able to translate the latest strings and you will not know if the strings fit into the apps layout.

Die nächsten Schritte:

  1. Fork the apps repo into your GitHub or GitLab account

  2. Clone the repo locally or use GitLab’s online editor

  3. (optional) Create a new branch for the translation

  4. Build the app using clickable to get up-to-date .pot/.ts template files

  5. Update the desired .po/.ts language file(s) from the template

  6. Translate all strings

  7. Build and install the app on your device and test the translations

  8. (optional) Repeat steps 6. and 7. until you are satisfied with your work

  9. Push the translated .po/.ts file(s) to your forked repo [do NOT commit .pot/.ts template files]

  10. Open a merge/pull request from your fork to the apps repo

Kommunikation im Übersetzerteam#

‎Sie können mit anderen Personen über Übersetzungen sprechen, indem Sie ‎‎die Forumskategorie‎‎ verwenden, die UBports für diese Aufgabe bereitstellt. Dazu müssen Sie sich registrieren oder anmelden wenn Sie bereits registriert sind.

Die einzige Anforderung ist einen Beitrag mit deiner Sprache in eckigen Klammern vorangestellt im Feld „Enter your topic title here“ zu veröffentlichen. Zum Beispiel [German] How to translate whatever?

Im Gespräch mit dem Team findet man leicht den besten Weg zur Koordination der Übersetzungen.

Lizenz#

Alle Übersetzungsprojekte und alle Beiträge zu diesem Projekt stehen unter der Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)-Lizenz, welche du durch deinen Beitrag zum Projekt explizit akzeptierst.

Folge dem Link, um herauszufinden, was das genau bedeutet.