Dateierweiterungen |
.xlf, .xliff |
API-Erweiterung |
symfony_xliff |
Importieren |
Ja |
Exportieren |
Ja |
Unterstützung für Pluralformen |
Nein |
Unterstützung für Beschreibungen |
Ja |
Format-Optionen |
enclose_in_cdata include_translation_state |
Symfony ist ein leistungsstarkes PHP-Framework, das aus verschiedenen vordefinierten PHP-Komponenten besteht. Die Lokalisierung für mit Symfony erstellte Anwendungen kann mit Dateiformaten wie .XLIFF, .YAML und PHP-Arrays erfolgen.
Der Unterschied zwischen einem Symfony .XLIFF und einem Standard .XLIFF liegt darin, wie sie lokalisieren, was jedes <trans-unit>
darstellt. Während Standard-.XLIFFs (und auch die meisten .XLIFF-Varianten, die von anderen Frameworks unterstützt werden) das Attribut id
verwenden, verwendet Symfony .XLIFF das Attribut resname
als Identifikator.
Um sicherzustellen, dass Strings in die richtige locale hochgeladen werden, muss das target-language
Attribut im Dateikopf eines Symfony .XLIFF mit dem konfigurierten Locale-Namen im entsprechenden Projekt übereinstimmen.
Format-Optionen
Identifikator |
enclose_in_cdata |
Typ |
Boolean |
Upload |
Nein |
Download |
Ja |
Standard |
false |
Beschreibung |
Umfasst Übersetzungen, die HTML-Tags in CDATA enthalten. Wenn deaktiviert, werden nicht unterstützte HTML-Zeichen durch ihre dekodierten Werte ersetzt. Beispiel:
|
Identifikator |
include_translation_state |
Typ |
Boolean |
Upload |
Nein |
Download |
Ja |
Standard |
false |
Beschreibung |
Den Zustand der Übersetzungen in der Zielsprache einbeziehen. Jeder |
Codebeispiel
<?xml version="1.0" encoding="UTF-8"?> <xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2"> <file original="global" datatype="plaintext" source-language="de-DE" target-language="en-GB"> <body> <trans-unit id="boolean_key" resname="boolean_key"> <source xml:lang="de-DE">--- true </source> <target xml:lang="en-GB">--- true </target> </trans-unit> <trans-unit id="empty_string_translation" resname="empty_string_translation"> <source xml:lang="de-DE"/> <target xml:lang="en-GB"/> </trans-unit> <trans-unit id="key_with_description" resname="key_with_description"> <source xml:lang="de-DE">Check it out! This key has a description!</source> <target xml:lang="en-GB">Schau dir das mal an! This key has a description! (At least in some formats)</target> <note>Ich bin eine sehr wichtige Beschreibung für diesen Schlüssel!</note> </trans-unit> <trans-unit id="key_with_line-break" resname="key_with_line-break"> <source xml:lang="de-DE">Diese Übersetzung hat einen Zeilenumbruch.</source> <target xml:lang="en-GB">Diese Übersetzung enthält einen Zeilenumbruch.</target> </trans-unit> <trans-unit id="nested.deeply.key" resname="nested.deeply.key"> <source xml:lang="de-DE">Ich bin ein tief verschachtelter Schlüssel</source> <target xml:lang="en-GB">Ich bin ein tief verschachtelter Schlüssel.</target> </trans-unit> <trans-unit id="nested.key" resname="nested.key"> <source xml:lang="de-DE">Dieser Schlüssel ist innerhalb eines Namensraumes verschachtelt.</source> <target xml:lang="en-GB">Dieser Schlüssel ist innerhalb eines Namensraumes verschachtelt.</target> </trans-unit> <trans-unit id="null_translation" resname="null_translation"> <source xml:lang="de-DE"/> <target xml:lang="en-GB"/> </trans-unit> <trans-unit id="sample_collection" resname="sample_collection"> <source xml:lang="de-DE">--- - erstes Item - zweites Item </source> <target xml:lang="en-GB">--- - erstes Item - zweites Item - drittes Item </target> </trans-unit> <trans-unit id="simple_key" resname="simple_key"> <source xml:lang="de-DE">Nur ein einfacher Schlüssel mit einer einfachen Nachricht.</source> <target xml:lang="de-DE">Ein einfacher Schlüssel mit einer einfachen Nachricht.</target> </trans-unit> <trans-unit id="unverified_key" resname="unverified_key"> <source xml:lang="de-DE">Diese Übersetzung ist noch nicht bestätigt und wartet drauf!</source> <target xml:lang="de-DE">Diese Übersetzung ist noch nicht überprüft und wartet darauf.</target> (In einigen Formaten exportieren wir auch diesen Status) </trans-unit> </body> </file> </xliff>