|
Extensiones de archivo |
.xlf, .xliff |
|
Extensión API |
symfony_xliff |
|
Importación |
Sí |
|
Exportación |
Sí |
|
Compatibilidad con formularios plurales |
No |
|
Compatibilidad con descripción |
Sí |
|
Opciones de formato Estas opciones se pueden especificar cuando se carga y/o se descarga un archivo. Dependiendo del método de cargar/Descargar (API, CLI, sincronización de repositorio, etc.), se pueden especificar en los parámetros de consulta |
enclose_in_cdata include_translation_state |
Symfony es un framework de PHP de alto rendimiento compuesto por varios componentes de PHP predefinidos. La localización para aplicaciones creadas con Symfony puede realizarse con formatos de archivo como .XLIFF, .YAML y matrices de PHP.
La diferencia entre un .XLIFF de Symfony y un .XLIFF estándar radica en cómo localizan lo que representa cada <trans-unit>. Mientras que los .XLIFF estándar (y también la mayoría de las variaciones de .XLIFF admitidas por otros frameworks) usan el atributo ID, el .XLIFF de Symfony usa el atributo resname como identificador.
Para garantizar que las Strings se carguen en la localización correcta, el atributo target-language en el encabezado del archivo de un .XLIFF de Symfony debe coincidir con el nombre de la localización configurado en el proyecto correspondiente.
Opciones de formato
|
Identificador |
enclose_in_cdata |
|
Tipo |
Booleano |
|
Carga |
No |
|
Descarga |
Sí |
|
Por defecto |
false |
|
Descripción |
Incluye las traducciones que contienen etiquetas html en CDATA. Si se deshabilita, las entidades HTML no admitidas se reemplazan por sus valores decodificados. Por ejemplo:
|
|
Identificador |
include_translation_state |
|
Tipo |
Booleano |
|
Carga |
No |
|
Descarga |
Sí |
|
Por defecto |
false |
|
Descripción |
Incluir el estado de las traducciones en la localización meta. Cada etiqueta |
Ejemplo de código
<?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\">Échale un vistazo!</source> Esta clave tiene una descripción!</source>
<target xml:lang=\"en-GB\">Échale un vistazo!</target> This key has a description! (Al menos en algunos formatos)</target>
<note>I'm a very important description for this key!</note>
</trans-unit>
<trans-unit id="key_with_line-break" resname="key_with_line-break">
<source xml:lang=\"de-DE\">Esta traducción tiene
einen Zeilenumbruch.</source>
<target xml:lang=\"en-GB\">Esta traducción contiene
un salto de línea.</target>
</trans-unit>
<trans-unit id="nested.deeply.key" resname="nested.deeply.key">
<source xml:lang=\"de-DE\">Soy una clave profundamente anidada</source>
<target xml:lang=\"es-ES\">Soy una meta profundamente anidada.</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=\"es-ES\">Esta clave está anidada dentro de un espacio de nombres.</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">---
- primer elemento
- segundo elemento
</source>
<target xml:lang="en-GB">---
- first item
- second item
- third 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=\"es-ES\">Solo una clave simple con un mensaje simple.</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=\"es-ES\">Esta traducción aún no está verificado y espera por ello." (En algunos formatos también exportar este estado)</target>
</trans-unit>
</body>
</file>
</xliff>