Version at: 03.08.20, 21:20
zurück zu <a href="http://tatoeba.org/">tatoeba.org</a>
# Benutzeroberfläche übersetzen
Dieser Artikel erklärt, wie du helfen kannst, die Benutzeroberfläche der Webseite in andere Sprachen zu übersetzen. Wenn du keine Übersetzerin bist, aber auf eine bestimmte unübersetzte Stelle hinweisen möchtest, kannst du eine Nachricht an der Pinnwand hinterlassen oder eine private Nachricht an Ricardo14 schicken. Genauso gut kannst du aber auch eine der Übersetzerinnen kontaktieren, falls du jemanden davon kennst.
## Zutritt zur Plattform
Wir benutzen eine Plattform, die sich **Transifex** nennt, um die Übersetzungen der Webseite zu koordinieren. Um Teil des Übersetzerteams zu werden, ist Folgendes zu tun:
1. Geh zu dieser Seite [https://www.transifex.com/projects/p/tatoeba_website/](https://www.transifex.com/projects/p/tatoeba_website/).
2. Falls du noch kein Konto bei Transifex hast: klick auf "Help translate Tatoeba website" und leg ein Konto an.
3. Wenn du schon ein Konto hast: logg dich ein, wähle die Sprache(n), in welche du übersetzen möchtest und bewirb dich als Übersetzerin.
4. Dann musst du darauf warten, dass deine Bewerbung akzeptiert wird.
Sobald du als Übersetzerin akzeptiert bist, kommst du folgendermaßen zu der Liste der zu übersetzenden Inhalte.
1. Geh auf "Dashboard" und dann:
![How to go to the Transifex translation page 1/3](/media/get/transifex-translate1.png)
2. Wähle "default.pot" als Ressource aus:
![How to go to the Transifex translation page 2/3](/media/get/transifex-translate2.png)
3. Wähle "Untranslated" aus:
![How to go to the Transifex translation page 3/3](/media/get/transifex-translate3.png)
Falls du Bedarf danach hast, mehr über Transifex zu erfahren, kannst du hier ihre Dokumentation lesen: [http://docs.transifex.com/](http://docs.transifex.com/).
## Strings Übersetzen
Einen "String" nennt man die kleinen Einheiten, in die der zu übersetzende Inhalt unterteilt wird. Das kann ein Teil eines Satzes sein, ein ganzer Satz oder auch mehrere Sätze.
### HTML
Alle Strings sollten in HTML geschrieben sein. In den meisten Fällen fällt das nicht weiter auf, aber du wirst hin und wieder auf HTML-Text stoßen, wie <strong>bla bla bla</strong>. Am besten lässt du das so, wie es ist, und übersetzt den Rest.
Falls du die Zeichen < oder > innerhalb einer Übersetzung benutzen möchtest, nimm stattdessen &lt; bzw. &gt; . Du kannst auch Etiketten einfügen, um Text zu formatieren, falls es die Typographie der Sprache, in die du übersetzst, erfordert. Zum Beispiel <em>Text</em> stellt den <em>Text kursiv</em>, <sup>Text</sup> wird den <sup>Text hochstellen</sup>.
Du wirst hier und da auch die Folge &nbsp; sehen. Keine Angst, daraus wird später nur ein Leerzeichen (an dem aber kein Zeilenumbruch passieren kann). Damit werden ungünstige Zeilenumbrüche verhindert, z.B. der zwischen einer Zahl und dem gezählten Objekt. Behalte diese Folge in deiner Übersetzung bei und stell sie gemäß deiner Sprache an die richtige Stelle.
### Variablen
Einige Strings enthalten Wörter zwischen Klammern wie {0} oder {user} oder sogar {}. Diese Begriffe sind Variablen (Platzhalter) und werden später von konkreten Wörtern ersetzt, sobald sie auf der Webseite erscheinen.
Ein Beispiel: in dem String "Sätze von {user}" wird der Begriff **{user}** durch den Benutzernamen ersetzt werden und das könnte dann später so aussehen "[Sätze von trang](http://tatoeba.org/eng/sentences/of_user/trang)". Deshalb darfst du beim Übersetzen solcher Sätze keinesfalls irgendetwas innerhalb der Klammern ändern!
Wir haben früher %s als Platzhalter benutzt, aber das ist nicht mehr aktuell.
### Zusatzinformationen
Jede Übersetzung hat, wenn du dort nach unten scrollst, einen Bereich “More Info”, der ausführlichere Informationen bereithält. Einige Zeilen davon können dir ziemlich nützlich sein.
![How to access a translation details](/media/get/transifex_more_details.png)
Unter “Occurrences” werden die URLs angegeben, die dich zum Quellcode bringen würden. Das wird vor allem von Programmiererinnen benutzt, du kannst dadurch verstehen, an welcher Stelle die Übersetzung gebraucht wird. Falls der Link “/views/” enthält, ist es nämlich möglich, zu dieser Seite zu gelangen, indem du daraus eine URL bildest (sieh dir dazu die grüne Beschreibung auf dem Bild oben an).
“Context” (im Bild rot unterstrichen) wird benutzt, um zwei oder mehr Übersetzungen voneinander zu unterscheiden, wenn sie den gleichen Originaltext haben. Denn manchmal kommt es vor, dass ein englischer String abhängig vom Kontext unterschiedlich übersetzt wird, vor allem wenn er kurz ist. Beispielsweise das Wort “test”: Ist es als Verb für eine Aktion gemeint oder als Substantiv?
### Plural-Strings
Manche Strings (üblicherweise kommt darin ein {n} vor) enthalten Sätze, die sowohl im Singular als auch im Plural erscheinen können. Solche Plural-Strings können an den "1"- und "other"-Schaltflächen erkannt werden (im folgenden Bild im roten Rechteck oben rechts):
![Plural strings](/media/get/unnamed.png)
Du musst dann sowohl die Singular- als auch die Plural-Form in die Zielsprache übersetzen. Sonst wird Transifex die Übersetzung nicht akzeptieren.
Die verschiedenen Sprachen gehen unterschiedlich mit dem Plural um. Manche Sprachen haben sogar mehrere Pluralformen, andere wiederum haben gar keine. Siehe auch [list of all plural formulas on Transifex](http://localization-guide.readthedocs.org/en/latest/l10n/pluralforms.html).
### Anmerkungen von Programmierern
Wie vorhin grün im Bild markiert, können Programmiererinnen Anmerkungen machen, die den Übersetzerinnen Hinweise geben. Falls dir ein bestimmter String schwer verständlich vorkommt, gib uns Bescheid und wir fügen solche Kommentare für die anderen Übersetzerinnen hinzu.
### Deklination
Falls ein String einen anderen String enthält, können Probleme mit der Deklination auftreten. Englisch [hat sehr wenige Deklinationen](https://en.wikipedia.org/wiki/Declension#Modern_English), aber deine Zielsprache könnte mehr davon haben.
Um das Problem zu verdeutlichen, nehmen wir Singular und Plural im Englischen und übersetzen als Beispiel von englisch nach englisch. Betrachten wir diesen String:
* I have a {thing}.
* We need more {thing}.
Die Variable {thing} bekommt ihren Inhalt von einem übersetzten String: “book” (übersetzt als “book”). Dabei kommt dann folgendes heraus:
* I have a book.
* We need more book.
Offensichtlich gibt es im zweiten Satz aber ein Problem. Um das zu beheben, benutzen wir untergeordnete Listen. Wenn du weißt, dass {thing} seinen Inhalt von einem anderen übersetzten String bekommt, ist es möglich, unterschiedliche Inhalte für diesen anderen String einzutragen:
* Original-String: book
* Übersetzter String: **; singular: book; plural: books**
Das ist eine Liste von Key/Value-Paaren getrennt durch Semikolons. Die Namen der Keys sind frei wählbar (allerdings dürfen sie kein : und auch kein ; enthalten).
Jeder übersetzte String, der mit einem Semikolon beginnt, wird wie eine untergeordnete Liste behandelt. Damit wird es möglich, einen bestimmten Wert aus dieser Liste herauszufischen:
* Original-Satz: I have a {thing}.
* Übersetzter Satz: I have a {thing.singular}.
Und für den zweiten String:
* Original-Satz: We need more {thing}.
* Übersetzter Satz: We need more {thing.plural}.
Die {thing.Key}-Syntax deckt so gut wie alles ab. Wenn sie den Key nicht findet oder nur {thing} benutzt wird, greift sie einfach auf den ersten Eintrag in der Liste zurück. Daher solltest du einen sicheren Wert als ersten Eintrag in der Liste angeben.
Bei Tatoeba kann dieser Zusatz für die Sprachennamen benutzt werden, falls sie dekliniert werden müssen. Leg dafür für den Namen jeder Sprache so eine Liste an und benutze dann {language.declension_foo}, sobald ein Sprachenname in einem String benutzt wird.
Wenn die Sprachennamen nicht innerhalb eines anderen Strings benutzt werden (z.B. in einem Drop-Down-Menü, in einer Quickinfo über einer Flagge etc.), kannst du sie mit dem festgelegten “{language}”-String deklinieren. Für ein funktionierendes Beispiel für die Deklination von Sprachennamen schau mal bei der französischen Übersetzung rein.
## Kommentare bei anderen Übersetzungen hinterlassen
In dem Bereich "Comments" können Kommentare hinterlassen oder Probleme zu einem bestimmten String mitgeteilt werden. Alles, was hier geschrieben wird, wird auch bei allen Übersetzungen in die anderen Sprachen angezeigt. Daher sollten sich Kommentare ausschließlich auf den englischen Original-String beziehen. Denn die Autorin der Übersetzung wird keinerlei Benachrichtigung davon bekommen, es sei denn, sie wird durch *@Benutzername* ausdrücklich adressiert. Wenn du also eine Bemerkung zu der Übersetzung machen möchtest, schick eine private Nachricht an die Autorin.
## Prüfen, wie die Übersetzung online aussehen wird
Wenn du die Seite kennst, auf der dein übersetzter String erscheinen soll, kannst du überprüfen, wie das Ganze aussieht, indem du auf die [development Webseite](http://dev.tatoeba.org/) gehst. Übersetzungen werden automatisch von Transifex herübergezogen und dort aller zehn Minuten installiert (jeweils zur 0., 10., 20., 30., 40. und 50. Minute).
## Fehlende Strings bei Transifex
Falls du einen bestimmten String auf dev.tatoeba.org siehst, ihn aber nicht bei Transifex findest, liegt das vermutlich an einer gerade stattfindenden Modifikation (der String ist Teil von etwas, das auf der offiziellen tatoeba.org-Seite noch nicht eingerichtet ist). Da dev.tatoeba.org auch für Tests von Funktionen im Entwicklungsmodus benutzt wird, kannst du noch nicht alles übersetzen. Erst wenn eine neue Funktion als benutzbar erachtet wird, werden die entsprechenden Strings auf Transifex hochgeladen und können dann übersetzt werden.
## Sonntags erscheinen die Übersetzungen auf tatoeba.org
Jeden Sonntag werden alle neuen Übersetzungen als Teil des wöchentlichen Updates von tatoeba.org hochgeladen. Wenn du deine Übersetzung also bis Sonntag fertig hast, wird sie auf tatoeba.org erscheinen, wenn nicht, musst du bis zum nächsten Sonntag darauf warten.
zurück zu <a href="http://tatoeba.org/">tatoeba.org</a>
version at: 10.08.20, 18:19
zurück zu <a href="http://tatoeba.org/">tatoeba.org</a>
# Benutzeroberfläche übersetzen
Dieser Artikel erklärt, wie du helfen kannst, die Benutzeroberfläche der Webseite in andere Sprachen zu übersetzen. Wenn du keine Übersetzerin bist, aber auf eine bestimmte unübersetzte Stelle hinweisen möchtest, kannst du eine Nachricht an der Pinnwand hinterlassen oder eine private Nachricht an Ricardo14 schicken. Genauso gut kannst du aber auch eine der Übersetzerinnen kontaktieren, falls du jemanden davon kennst.
## Zutritt zur Plattform
Wir benutzen eine Plattform, die sich **Transifex** nennt, um die Übersetzungen der Webseite zu koordinieren. Um Teil des Übersetzerteams zu werden, ist Folgendes zu tun:
1. Geh zu dieser Seite [https://www.transifex.com/projects/p/tatoeba_website/](https://www.transifex.com/projects/p/tatoeba_website/).
2. Falls du noch kein Konto bei Transifex hast: klick auf "Help translate Tatoeba website" und leg ein Konto an.
3. Wenn du schon ein Konto hast: logg dich ein, wähle die Sprache(n), in welche du übersetzen möchtest und bewirb dich als Übersetzerin.
4. Dann musst du darauf warten, dass deine Bewerbung akzeptiert wird.
Sobald du als Übersetzerin akzeptiert bist, kommst du folgendermaßen zu der Liste der zu übersetzenden Inhalte.
1. Geh auf "Dashboard" und dann:
![How to go to the Transifex translation page 1/3](/media/get/transifex-translate1.png)
2. Wähle "default.pot" als Ressource aus:
![How to go to the Transifex translation page 2/3](/media/get/transifex-translate2.png)
3. Wähle "Untranslated" aus:
![How to go to the Transifex translation page 3/3](/media/get/transifex-translate3.png)
Falls du Bedarf danach hast, mehr über Transifex zu erfahren, kannst du hier ihre Dokumentation lesen: [http://docs.transifex.com/](http://docs.transifex.com/).
## Strings Übersetzen
Einen "String" (Deutsch: "Zeichenkette") nennt man die kleinen Einheiten, in die der zu übersetzende Inhalt unterteilt wird. Das kann ein Teil eines Satzes sein, ein ganzer Satz oder auch mehrere Sätze.
### HTML
Alle Strings sollten in HTML geschrieben sein. In den meisten Fällen fällt das nicht weiter auf, aber du wirst hin und wieder auf HTML-Text stoßen, wie <strong>bla bla bla</strong>. Am besten lässt du das so, wie es ist, und übersetzt den Rest.
Falls du die Zeichen < oder > innerhalb einer Übersetzung benutzen möchtest, nimm stattdessen &lt; bzw. &gt; . Du kannst auch Etiketten einfügen, um Text zu formatieren, falls es die Typographie der Sprache, in die du übersetzst, erfordert. Zum Beispiel <em>Text</em> stellt den <em>Text kursiv</em>, <sup>Text</sup> wird den <sup>Text hochstellen</sup>.
Du wirst hier und da auch die Folge &nbsp; sehen. Keine Angst, daraus wird später nur ein Leerzeichen (an dem aber kein Zeilenumbruch passieren kann). Damit werden ungünstige Zeilenumbrüche verhindert, z.B. der zwischen einer Zahl und dem gezählten Objekt. Behalte diese Folge in deiner Übersetzung bei und stell sie gemäß deiner Sprache an die richtige Stelle.
### Variablen
Einige Strings enthalten Wörter zwischen Klammern wie {0} oder {user} oder sogar {}. Diese Begriffe sind Variablen (Platzhalter) und werden später von konkreten Wörtern ersetzt, sobald sie auf der Webseite erscheinen.
Ein Beispiel: in dem String "Sätze von {user}" wird der Begriff **{user}** durch den Benutzernamen ersetzt werden und das könnte dann später so aussehen "[Sätze von trang](http://tatoeba.org/eng/sentences/of_user/trang)". Deshalb darfst du beim Übersetzen solcher Sätze keinesfalls irgendetwas innerhalb der Klammern ändern!
Wir haben früher %s als Platzhalter benutzt, aber das ist nicht mehr aktuell.
### Zusatzinformationen
Jede Übersetzung hat, wenn du dort nach unten scrollst, einen Bereich “More Info”, der ausführlichere Informationen bereithält. Einige Zeilen davon können dir ziemlich nützlich sein.
![How to access a translation details](/media/get/transifex_more_details.png)
Unter “Occurrences” werden die URLs angegeben, die dich zum Quellcode bringen würden. Das wird vor allem von Programmiererinnen benutzt, du kannst dadurch verstehen, an welcher Stelle die Übersetzung gebraucht wird. Falls der Link “/views/” enthält, ist es nämlich möglich, zu dieser Seite zu gelangen, indem du daraus eine URL bildest (sieh dir dazu die grüne Beschreibung auf dem Bild oben an).
“Context” (im Bild rot unterstrichen) wird benutzt, um zwei oder mehr Übersetzungen voneinander zu unterscheiden, wenn sie den gleichen Originaltext haben. Denn manchmal kommt es vor, dass ein englischer String abhängig vom Kontext unterschiedlich übersetzt wird, vor allem wenn er kurz ist. Beispielsweise das Wort “test”: Ist es als Verb für eine Aktion gemeint oder als Substantiv?
### Plural-Strings
Manche Strings (üblicherweise kommt darin ein {n} vor) enthalten Sätze, die sowohl im Singular als auch im Plural erscheinen können. Solche Plural-Strings können an den "1"- und "other"-Schaltflächen erkannt werden (im folgenden Bild im roten Rechteck oben rechts):
![Plural strings](/media/get/unnamed.png)
Du musst dann sowohl die Singular- als auch die Plural-Form in die Zielsprache übersetzen. Sonst wird Transifex die Übersetzung nicht akzeptieren.
Die verschiedenen Sprachen gehen unterschiedlich mit dem Plural um. Manche Sprachen haben sogar mehrere Pluralformen, andere wiederum haben gar keine. Siehe auch [list of all plural formulas on Transifex](http://localization-guide.readthedocs.org/en/latest/l10n/pluralforms.html).
### Anmerkungen von den Programmierern
Wie vorhin grün im Bild markiert, können Programmiererinnen Anmerkungen machen, die den Übersetzerinnen Hinweise geben. Falls dir ein bestimmter String schwer verständlich vorkommt, gib uns Bescheid und wir fügen solche Kommentare für die anderen Übersetzerinnen hinzu.
### Deklination
Falls ein String einen anderen String enthält, können Probleme mit der Deklination auftreten. Englisch [hat sehr wenige Deklinationen](https://en.wikipedia.org/wiki/Declension#Modern_English), aber deine Zielsprache könnte mehr davon haben.
Um das Problem zu verdeutlichen, nehmen wir Singular und Plural im Englischen und übersetzen als Beispiel von englisch nach englisch. Betrachten wir diesen String:
* I have a {thing}.
* We need more {thing}.
Die Variable {thing} bekommt ihren Inhalt von einem übersetzten String: “book” (übersetzt als “book”). Dabei kommt dann folgendes heraus:
* I have a book.
* We need more book.
Offensichtlich gibt es im zweiten Satz aber ein Problem. Um das zu beheben, benutzen wir untergeordnete Listen. Wenn du weißt, dass {thing} seinen Inhalt von einem anderen übersetzten String bekommt, ist es möglich, unterschiedliche Inhalte für diesen anderen String einzutragen:
* Original-String: book
* Übersetzter String: **; singular: book; plural: books**
Das ist eine Liste von Key/Value-Paaren getrennt durch Semikolons. Die Namen der Keys sind frei wählbar (allerdings dürfen sie kein : und auch kein ; enthalten).
Jeder übersetzte String, der mit einem Semikolon beginnt, wird wie eine untergeordnete Liste behandelt. Damit wird es möglich, einen bestimmten Wert aus dieser Liste herauszufischen:
* Original-Satz: I have a {thing}.
* Übersetzter Satz: I have a {thing.singular}.
Und für den zweiten String:
* Original-Satz: We need more {thing}.
* Übersetzter Satz: We need more {thing.plural}.
Die {thing.Key}-Syntax deckt so gut wie alles ab. Wenn sie den Key nicht findet, greift sie einfach auf den ersten Eintrag in der Liste zurück. Daher solltest du einen sicheren Wert als ersten Eintrag in der Liste angeben.
Bei Tatoeba kann dieser Zusatz für die Sprachennamen benutzt werden, falls sie dekliniert werden müssen. Leg dafür für den Namen jeder Sprache so eine Liste an und benutze dann {language.declension_foo}, sobald ein Sprachenname in einem String benutzt wird.
Wenn die Sprachennamen nicht innerhalb eines anderen Strings benutzt werden (z.B. in einem Drop-Down-Menü, in einer Quickinfo über einer Flagge etc.), kannst du sie mit dem festgelegten “{language}”-String deklinieren. Für ein funktionierendes Beispiel für die Deklination von Sprachennamen schau mal bei der französischen Übersetzung rein.
## Kommentare bei anderen Übersetzungen hinterlassen
In dem Bereich "Comments" können Kommentare hinterlassen oder Probleme zu einem bestimmten String mitgeteilt werden. Alles, was hier geschrieben wird, wird auch bei allen Übersetzungen in die anderen Sprachen angezeigt. Daher sollten sich Kommentare ausschließlich auf den englischen Original-String beziehen. Denn die Autorin der Übersetzung wird keinerlei Benachrichtigung davon bekommen, es sei denn, sie wird durch *@Benutzername* ausdrücklich adressiert. Wenn du also eine Bemerkung zu der Übersetzung machen möchtest, schick eine private Nachricht an die Autorin.
## Prüfen, wie die Übersetzung online aussehen wird
Wenn du die Seite kennst, auf der dein übersetzter String erscheinen soll, kannst du überprüfen, wie das Ganze aussieht, indem du auf die [development Webseite](http://dev.tatoeba.org/) gehst. Übersetzungen werden automatisch von Transifex herübergezogen und dort alle zehn Minuten installiert (jeweils zur 0., 10., 20., 30., 40. und 50. Minute).
## Fehlende Strings bei Transifex
Falls du einen bestimmten String auf dev.tatoeba.org siehst, ihn aber nicht bei Transifex findest, liegt das vermutlich an einer gerade stattfindenden Modifikation (der String ist Teil von etwas, das auf der offiziellen tatoeba.org-Seite noch nicht eingerichtet ist). Da dev.tatoeba.org auch für Tests von Funktionen im Entwicklungsmodus benutzt wird, kannst du noch nicht alles übersetzen. Erst wenn eine neue Funktion als benutzbar erachtet wird, werden die entsprechenden Strings auf Transifex hochgeladen und können dann übersetzt werden.
## Sonntags erscheinen die Übersetzungen auf tatoeba.org
Jeden Sonntag werden alle neuen Übersetzungen als Teil des wöchentlichen Updates von tatoeba.org hochgeladen. Wenn du deine Übersetzung also bis Sonntag fertig hast, wird sie auf tatoeba.org erscheinen, wenn nicht, musst du bis zum nächsten Sonntag darauf warten.
zurück zu <a href="http://tatoeba.org/">tatoeba.org</a>