Extensions de fichiers |
.xlf, .xliff |
Extension d'API |
symfony_xliff |
Import |
oui |
Export |
oui |
Prise en charge des formes plurielles |
non |
Prise en charge de la description |
oui |
Options de format |
enclose_in_cdata include_translation_state |
Symfony est un framework PHP haute performance composé de divers composants PHP prédéfinis. La localisation des applications construites avec Symfony peut se faire avec des formats de fichiers tels que .XLIFF, .YAML et des tableaux PHP.
La différence entre un .XLIFF Symfony et un standard .XLIFF réside dans la façon dont ils localisent ce que chaque <trans-unit>
représente. Alors que les .XLIFF standards (et aussi la plupart des variations .XLIFF prises en charge par d'autres frameworks) utilisent l'attribut id
, le .XLIFF Symfony utilise l'attribut resname
comme identifiant.
Pour s'assurer que les chaînes sont téléchargées dans le bon locale, l'attribut target-language
dans l'en-tête du fichier d'un .XLIFF Symfony doit correspondre au nom de la locale configurée dans le projet pertinent.
Options de format
Identifiant |
enclose_in_cdata |
Type |
booléen |
Charger |
non |
Télécharger |
Oui |
Par défaut |
false |
Description |
Enveloppe les traductions contenant des balises html dans CDATA. Si désactivé, les entités HTML non prises en charge sont remplacées par leurs valeurs décodées. Par exemple :
|
Identifiant |
include_translation_state |
Type |
booléen |
Charger |
non |
Télécharger |
Oui |
Par défaut |
false |
Description |
Inclure l'état des traductions dans la locale cible. Chaque |
Exemple de code
<?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">Regarde ça ! Cette clé a une description !</source> <cible xml:lang="en-GB">Regarde ça !</cible> Cette clé a une description ! (Au moins dans certains formats)</cible> <note>Je suis une description très importante pour cette clé !</note> </trans-unit> <trans-unit id="key_with_line-break" resname="key_with_line-break"> <source xml:lang="de-DE">Cette traduction a un saut de ligne.</source> <cible xml:lang="en-GB">Cette traduction contient a line-break.</target> </trans-unit> <trans-unit id="nested.deeply.key" resname="nested.deeply.key"> <source xml:lang="de-DE">Je suis une clé profondément imbriquée</source> <cible xml:lang="en-GB">Je suis une clé profondément imbriquée.</cible> </trans-unit> <trans-unit id="nested.key" resname="nested.key"> <source xml:lang="de-DE">Cette clé est imbriquée dans un espace de noms.</source> <cible xml:lang="en-GB">Cette clé est imbriquée dans un espace de noms.</cible> </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">--- - premier élément - deuxième élément </source> <target xml:lang="en-GB">--- - premier élément - deuxième élément - troisième élément </target> </trans-unit> <trans-unit id="simple_key" resname="simple_key"> <source xml:lang="fr-FR">Juste une clé simple avec un message simple.</source> <target xml:lang="fr-FR">Juste une clé simple avec un message simple.</target> </trans-unit> <trans-unit id="unverified_key" resname="unverified_key"> <source xml:lang="fr-FR">Cette traduction n'est pas encore vérifiée et attend cela !</source> <target xml:lang="fr-FR">Cette traduction n'est pas encore vérifiée et attend cela.</target> (Dans certains formats, nous exportons également ce statut) </trans-unit> </body> </file> </xliff>