Tipos de archivo admitidos (Strings)

.PO - archivos gettext (Strings)

El contenido se traduce automáticamente del inglés por Phrase Language AI.

Extensiones de archivo 

.po

Extensión API 

gettext

Importación 

Exportación 

Compatibilidad con formularios plurales 

Compatibilidad con descripción 

Opciones de formato

Estas opciones que se pueden especificar cuando se carga y/o Descargar 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 cargar, Descargar o en el archivo de configuración Phrase.yml.

  • msgid_as_default

  • is_bilingual_file

.PO (Portable Object) es el formato de archivo estándar para la localización con GNU gettext, una biblioteca GNU de código abierto diseñada para simplificar el proceso de localización. Con GNU gettext, las Strings localizables se extraen del código fuente a un archivo PO para su traducción. Un archivo .PO es una serie de pares clave-valor. La clave msgid es donde se coloca la cadena fuente, mientras que el valor msgstr es donde va la traducción.

gettext extrae Strings del código fuente a una plantilla .POT (plantilla de objeto portátil). Basado en las localización definidas, gettext convierte entonces el archivo .POT en archivos .PO específicos de localización para cargar a una herramienta CAT para su traducción. Después de la traducción, gettext convierte los archivos .PO traducidos en archivos .MO (archivos de objeto de máquina) que finalmente se utilizan para la localización.

Los archivos .PO son idénticos a los archivos .POT, excepto que los archivos .POT generalmente son utilizados por gettext para generar archivos .PO específicos de localización. Traducir un archivo .POT directamente y renombrarlo de acuerdo con la localización prevista posteriormente no genera problemas. Phrase admite la traducción de:

  • Archivos .PO

  • Archivos .PO bilingües

  • .POT files 

  • Archivos .MO legibles por máquina

msgctxt se utilizará como prefijo de clave, combinado con msgid y separado por ||

Opciones de formato

Identificador

msgid_as_default

Tipo

Booleano

Carga

true

Descarga

false

Por defecto

false

Descripción

Toma el contenido de traducción del valor msgid en lugar de msgstr

Identificador

is_bilingual_file

Tipo

Booleano

Carga

true

Descarga

false

Por defecto

false

Descripción

Tanto las traducciones de fuente como de meta se importarán del archivo cargado: el contenido de fuente se tomará del valor msgid, el de meta del valor de msgstr

Ejemplo de código

msgid ""
msgstr ""
"Language: Spanish\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 ""

# ¡Esta es la increíble descripción para esta clave!
msgid "key_with_description"
msgstr "¡Échale un vistazo!" This key has a description! (At least in some formats)"

msgid "key_with_line-break"
msgstr "Esta traducción contiene\nun salto de línea."

msgid "nested.deeply.key"
msgstr "Guau, esta clave está anidada aún más profundamente."

msgid "nested.key"
msgstr "Esta clave está anidada dentro de un espacio de nombres."

msgid "null_translation"
msgstr ""

msgid "pluralized_key"
msgid_plural ""
msgstr[0] "Solo se encontró una pluralización."
msgstr[1] "¡Guau, tienes %s pluralizaciones!"

msgid "sample_collection"
msgstr "---\n- primer elemento\n- segundo elemento\n- tercer elemento\n"

msgid "simple_key"
msgstr "clave simple, mensaje simple, tan simple.2"

#, inexacto
msgid "unverified_key"
msgstr "Necesito verificación, ¡por favor verifícame!" (In some formats we also export this status)"

Entrada típica de gettext: 

# descripción (Opcional)
msgid "key-name"
msgstr "My Translation"

Encabezado de gettext

El encabezado de un archivo gettext puede contener un nombre de localización y datos para formas plurales que se extraen durante la importar:

msgid ""
msgstr ""
"Language: es\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"

Descripciones

Los comentarios en un archivo gettext se añaden como descripciones de clave durante la importar:

# Esta es mi descripción
msgid "app_title"
msgstr "My Software Project"

Contexto

gettext utiliza la notación msgctxt para distinguir diferentes contextos para el mismo msgid. Cada nombre de clave debe ser único, por lo que msgctxt se agrega como la primera parte del nombre de la clave, separado por dos símbolos de barra vertical ||:

msgctxt "menu"
msgid \"Open\"
msgstr \"Soy una traducción\"

msgctxt "forum"
msgid \"Open\"
msgstr \"Soy otra traducción\"

Para agregar el msgctxt a una nueva clave, antepóngalo al nombre de la clave:

my_context||my_key_name

Salida de gettext resultante:

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

Formularios plurales

gettext admite formas plurales para una traducción:

msgid \"new_messages\"
msgid_plural ""
msgstr[0] \"Tiene un mensaje nuevo\"
msgstr[1] \"Tiene %{count} mensajes nuevos\"

Inexacto

La palabra clave inexacto se utiliza para la verificación de la traducción. Inexacto invoca automáticamente el proceso de no verificación dentro de Phrase.

#, inexacto
msgid "app_title"
msgstr "My Software Project"
¿Fue útil este artículo?

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.