Unterstützte Dateitypen (Strings)

.PO - gettext files (Strings)

Inhalte werden von Phrase Language AI maschinell aus dem Englischen übersetzt.

Dateierweiterungen 

.po

API-Erweiterung 

Gettext

Importieren 

Ja

Exportieren 

Ja

Unterstützung für Pluralformen 

Ja

Unterstützung für Beschreibungen 

Ja

Format-Optionen

  • msgid_as_default

  • is_bilingual_file

AB (Portable Object) ist das Standard-Format für die Lokalisierung von Dateien mit GNU-Gettext, einer Open-Source-Bibliothek für GNU-Ausgangssprachen, die den Lokalisierungsprozess vereinfachen soll. Mit GNU gettext werden Localizable Strings zur Übersetzung aus der Ausgangssprache in eine AB extrahiert. Eine .AB-Datei ist eine Reihe von Key-Value-Paaren. Der Key msgstr ist die Zeichenfolge der Ausgangssprache, während der Wert msgstr die Zeichenfolge der Übersetzung ist.

gettext extrahiert Strings aus Ausgangssprache in einen .POT (portable object Vorlage). Basierend auf definierten Sprachen konvertiert gettext dann die .AB-Datei in eine sprachenspezifische .PO-Datei, die zur Übersetzung in ein CAT-Tool hochgeladen wird. Nach der Übersetzung konvertiert gettext die übersetzten AB-Dateien in .MO-Dateien (Machine Object Files), die schließlich für die Lokalisierung verwendet werden.

.AB Dateien sind identisch mit .POT Dateien, mit der Ausnahme, dass .POT Dateien normalerweise von gettext verwendet werden, um sprach-spezifische .AB Dateien zu generieren. Die direkte Übersetzung einer .POT-Datei und deren Umbenennung nach der später vorgesehenen Sprache führt nicht zu Problemen. phrase unterstützt die Übersetzung von:

  • AB-Dateien

  • Zweisprachige AB-Dateien

  • .POT-Dateien 

  • Maschinenlesbare .MO-Dateien

msgctxt wird als Key Präfix verwendet, kombiniert mit msgid und getrennt durch ||

Format-Optionen

Identifikator

msgid_as_default

Typ

Boolean

Hochladen

true

Herunterladen

false

Standard

false

Beschreibung

Übernimmt den Inhalt der Übersetzung aus dem msgstr-Wert anstelle aus dem msgstr-Wert

Identifikator

is_bilingual_file

Typ

Boolean

Hochladen

true

Herunterladen

false

Standard

false

Beschreibung

Übersetzungen in Ausgangssprache und Zielsprache werden aus der hochgeladenen Datei importiert: Inhalte in Ausgangssprache werden vom msgstr-Wert übernommen, Zielsprache vom msgstr-Wert

Codebeispiel

msgid ""
msgstr ""
„Sprache: Englisch\n"
"MIME-Version: 1.0\n"
"Inhalt-Typ: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Pluralformen: nplurals=2; plural=(n != 1);\n"
"X-Generator: PhraseApp (phraseapp.com)\n"

msgid "boolean_key"
msgstr "--- true\n"

msgid "empty_string_translation"
msgstr ""

# Dies ist die erstaunliche Beschreibung für diesen Key!
msgid "key_with_description"
msgstr "Schaut euch das an! This key has a description! (At least in some formats)"

msgid "key_with_line-break"
msgstr "Diese Übersetzungen enthalten\na Zeilenumbrüche."

msgid "nested.deeply.key"
msgstr "Wow, dieser Key ist noch tiefer verschachtelt."

msgid "nested.key"
msgstr "Dieser Key ist in einem Namespace verschachtelt."

msgid "null_translation"
msgstr ""

msgid "pluralized_key"
msgid_plural ""
msgstr[0] "Nur eine Pluralisierung gefunden."
msgstr[1] "Wow, you have %s pluralizations!"

msgid "sample_collection"
msgstr "--\n- first item\n- second item\n- third item\n"

msgid "simple_key"
msgstr "einfacher Key, einfache Nachricht, so einfach.2"

#, Fuzzy
msgid "unverified_key"
msgstr „Ich brauche eine Verifizierung, bitte überprüfe mich! (In some formats we also export this status)"

Typischer Eintrag gettext: 

# Beschreibung (optional)
msgstr "Key"
msgstr "Meine Übersetzung"

gettext Header

Der Header einer Gettext-Datei kann einen Namen in der Sprache und Daten für Pluralformen enthalten, die beim importieren extrahiert werden:

msgid ""
msgstr ""
"Sprache: en\n"
"MIME-Version: 1.0\n"
"Inhalt-Typ: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Pluralformen: nplurals=2; plural=(n != 1);\n"
"X-Generator: PhraseApp (phraseapp.com)\n"

Beschreibungen

Kommentare in einer Gettext-Datei werden beim importieren als Key Beschreibungen hinzugefügt:

# Dies ist meine Beschreibung
msgid "app_title"
msgstr „Mein Software Projekt“

Kontext

gettext verwendet die msgctxt-Notation, um verschiedene Kontexte für dasselbe msgid zu unterscheiden. Jeder Key Name muss eindeutig sein, daher wird msgctxt als erster Teil des Key Names hinzugefügt, getrennt durch zwei Pipe Symbole ||:

msgctxt „Menü“
msgstr "Öffnen"
msgstr "Ich bin eine Übersetzung"

msgctxt "forum"
msgstr "Öffnen"
msgstr "Ich bin eine andere Übersetzung"

Um das msgctxt zu einem neuen Key hinzuzufügen, stelle es dem Key Name voran:

my_context||my_key_name

Ergebnis gettext Output:

...
msgctxt "my_context"
msgid "my_key_name"
...

Pluralformen

gettext unterstützt Pluralformen für eine Übersetzung:

msgstr "new_messages"
msgid_plural ""
msgstr[0] "Du hast eine neue Nachricht"
msgstr[1] "Du hast %{count} neue Nachrichten"

Fuzzy

Das Fuzzy Keyword wird für die Überprüfung der Übersetzung verwendet. Fuzzy ruft automatisch den Verifizierungsprozess in phrase auf.

#, Fuzzy
msgid "app_title"
msgstr „Mein Software Projekt“
War dieser Beitrag hilfreich?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.