Unterstützte Dateitypen (Strings)

.AB - gettext-Dateien (Strings)

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

Dateierweiterungen 

.po

API-Erweiterung 

gettext

Import 

Ja

Exportieren 

Ja

Unterstützung für Pluralformen 

Ja

Unterstützung für Beschreibungen 

Ja

Format-Optionen

Diese Optionen können angegeben werden, wenn eine Datei hochgeladen und/oder Herunterladen wird. Abhängig von der hochladen/Herunterladen-Methode (API, CLI, Repo-Sync usw.) können sie in Query-Parametern hochladen, Herunterladen oder in der phrase.yml-Konfigurationsdatei angegeben werden.

  • msgid_as_default

  • is_bilingual_file

.AB (Portable Object) ist das Standard-Format für die Lokalisierung mit GNU gettext, einer Open-Source-GNU-Bibliothek, die entwickelt wurde, um den Lokalisierungsprozess zu vereinfachen. Mit GNU gettext werden lokalisierbare Strings aus dem Ausgangssprache-Code in eine AB-Datei zur Übersetzung extrahiert. Eine .AB-Datei ist eine Reihe von Key-Wert-Paaren. Der Key msgid ist der Ort, an dem die Ausgangssprache-Zeichenfolge platziert wird, während der Wert msgstr der Ort ist, an den die Übersetzung geht.

gettext extrahiert Strings aus dem Ausgangssprache-Code in eine .POT (Portable Object Vorlage). Basierend auf definierten Sprache konvertiert gettext die .POT-Datei dann in sprachspezifische .AB-Dateien zum hochladen in ein CAT-Tool zur Übersetzung. 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 im Allgemeinen von gettext verwendet werden, um sprachspezifische .AB-Dateien zu generieren. Das direkte Übersetzen einer .POT-Datei und deren Umbenennung gemäß der später beabsichtigten Sprache führt zu keinen 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

Nimmt den Content der Übersetzung aus dem msgid-Wert anstelle von msgstr

Identifikator

is_bilingual_file

Typ

Boolean

Hochladen

true

Herunterladen

false

Standard

false

Beschreibung

Sowohl die Übersetzungen der Ausgangssprache als auch der Zielsprache werden aus der hochgeladenen Datei importiert: Der Content der Ausgangssprache wird aus dem msgid-Wert übernommen, die Zielsprache aus dem Wert von msgstr

Codebeispiel

msgid ""
msgstr ""
"Language: Sprache\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: 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 "Schau es dir an!" This key has a description! (At least in some formats)"

msgid "key_with_line-break"
msgstr "This translations contains\na line-break."

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

msgid "nested.key"
msgstr "Dieser Key ist innerhalb eines Namespace verschachtelt."

msgid "null_translation"
msgstr ""

msgid "pluralized_key"
msgid_plural ""
msgstr[0] "Only one pluralization found."
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 "simple key, simple message, so simple.2"

#, Fuzzy
msgid "unverified_key"
msgstr "Ich benötige eine Überprüfung, bitte überprüfen Sie mich!" (In some formats we also export this status)"

Typischer gettext-Eintrag: 

# Beschreibung (Optional)
msgid "key-name"
msgstr "Meine Übersetzung"

gettext-Header

Der Header einer gettext-Datei kann eine Sprache und Daten für Pluralformen enthalten, die während des importieren extrahiert werden:

msgid ""
msgstr ""
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: PhraseApp (phraseapp.com)\n"

Key-Beschreibungen

Kommentare in einer gettext-Datei werden während des 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 denselben msgid zu unterscheiden. Jeder Key-Name muss eindeutig sein, daher wird msgctxt als erster Teil des Key-Namens hinzugefügt, getrennt durch zwei Pipe-Symbole ||:

msgctxt "menu"
msgid "Öffnen"
msgstr "Ich bin eine Übersetzung"

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

Um den msgctxt zu einem neuen Key hinzuzufügen, stellen Sie ihn dem Key-Namen voran:

my_context||my_key_name

Resultierender gettext-Output:

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

Pluralformen

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

msgid "new_messages"
msgid_plural ""
msgstr[0] "Sie haben eine neue Nachricht"
msgstr[1] "Sie haben %{count} neue Nachrichten"

Fuzzy

Das Fuzzy-Keyword wird zur Übersetzungsüberprüfung verwendet. Fuzzy ruft automatisch den Prozess zur Aufhebung der Verifizierung innerhalb von 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.