Tipos de archivo admitidos (Strings)

.PO - gettext files (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

  • msgid_as_default

  • is_bilingual_file

.PO (Portable Object) es el formato estándar de archivo 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, Strings Localizables se extraen del código fuente en 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 en un .POT (plantilla portátil de objetos). A partir de localizaciones definidas, gettext convierte el archivo .POT en archivos .PO específicos de la localización para cargar en una herramienta CAT para su traducción. Después de traducir, gettext convierte los archivos PO traducidos en archivos .MO (archivos objeto automático) que se utilizan finalmente para la localización.

Los archivos .POT 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 directamente un archivo .POT y renombrarlo según la localización posterior no genera problemas. phrase admite la traducción de:

  • Archivos .PO

  • Archivos .PO bilingües

  • Archivos .POT 

  • Archivos .MO legibles por máquina

msgctxt se utilizará como prefijo 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 la traducción del valor msgid en lugar de msgstr

Identificador

is_bilingual_file

Tipo

Booleano

Carga

true

Descarga

false

Por defecto

false

Descripción

Las traducciones fuente y meta se importarán del archivo cargado: el contenido fuente se recogerá del valor msgid y la meta del valor msgstr

Ejemplo de código

msgid ""
msgstr ""
"Idioma: Inglés\n"
"MIME-Versión: 1,0\n"
"Tipo de contenido: texto/sin formato; juego de caracteres=UTF-8\n"
"Codificación de transferencia de contenido: 8bit\n"
"Formas plurales: nplurales=2; plurales=(n != 1);\n"
"Generador X: PhraseApp (phraseapp.com)\n"

msgid "boolean_key"
msgstr "--- true\n"

msgid "empty_string_translation"
msgstr ""

# ¡Esta es la increíble descripción de 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 "Estas traducciones contienen\na salto de línea."

msgid "nested.deeply.key"
msgstr "Wow, this clave is nested even deep."

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] "¡Vaya, tienes %s pluralizaciones!"

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

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

#, inexacto
msgid "unverified_key"
msgstr "Necesito verificación, por favor verificar (In some formats we also export this status)"

Típica entrada gettext: 

# descripción (opcional)
msgid "key-name"
msgstr "Mi traducción"

gettext Header

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

msgid ""
msgstr ""
"Idioma: en\n"
"MIME-Versión: 1,0\n"
"Tipo de contenido: texto/sin formato; juego de caracteres=UTF-8\n"
"Codificación de transferencia de contenido: 8bit\n"
"Formas plurales: nplurales=2; plurales=(n != 1);\n"
"Generador X: PhraseApp (phraseapp.com)\n"

Descripciones

Los comentarios en un archivo gettext se agregan como descripciones clave al importar:

# Esta es mi descripción
msgid "app_title"
msgstr "Mi proyecto software"

Context

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

msgctxt "menú"
msgid "Abrir"
msgstr "Soy una traducción"

msgctxt "foro"
msgid "Abrir"
msgstr "Soy alguna otra traducción"

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

my_context||my_key_name

Salida 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] "Tienes un nuevo mensaje"
msgstr[1] "Tienes %{count} mensajes nuevos"

Fuzzy

La palabra clave inexacta se utiliza para la verificación traductora. Inexacto invoca automáticamente el proceso de no verificación dentro de la aplicación.

#, inexacto
msgid "app_title"
msgstr "Mi proyecto software"
¿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.