|
Extensiones de archivo |
.po |
|
Extensión API |
gettext |
|
Importación |
Sí |
|
Exportación |
Sí |
|
Compatibilidad con formularios plurales |
Sí |
|
Compatibilidad con descripción |
Sí |
|
Opciones de formato Estas opciones que se pueden especificar cuando se carga y/o descarga un archivo. Dependiendo del método de carga/descarga (API, CLI, sincronización de repositorios, etc.), se pueden especificar en parámetros de consulta |
|
.PO (Objeto Portable) 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 cadenas 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 cadenas del código fuente en un .POT (plantilla de objeto portable). Basado en las localizaciones definidas, gettext convierte el archivo .POT en archivos .PO específicos de la localización para cargar en una herramienta CAT para traducción. Después de la traducción, gettext convierte los archivos .PO traducidos en archivos .MO (archivos de objeto de máquina) que se utilizan eventualmente para la localización.
.Los archivos .PO son idénticos a los archivos .POT, excepto que los archivos .POT se utilizan generalmente por gettext para generar archivos .PO específicos de la localización. Traducir un archivo .POT directamente y renombrarlo según la localización prevista más tarde no genera problemas. Phrase admite la traducción de:
-
.Archivos .PO
-
Archivos .PO bilingües
-
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 la traducción del valor |
|
Identificador |
is_bilingual_file |
|
Tipo |
Booleano |
|
Carga |
true |
|
Descarga |
false |
|
Por defecto |
false |
|
Descripción |
Tanto las traducciones de origen como las de destino se importarán del archivo subido: el contenido de origen se tomará del valor |
Ejemplo de código
msgid "" msgstr "" "Idioma: Inglés\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\na un salto de línea." msgid "nested.deeply.key" msgstr "¡Vaya, esta clave está anidada aún más profundo." 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 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 "Mi Traducción"
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 importación:
msgid "" msgstr "" "Idioma: en\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 importación:
# Esta es mi descripción msgid "app_title" msgstr "Mi Proyecto de Software"
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 tubería ||:
msgctxt "menu" msgid "Open" msgstr "I'am a translation" msgctxt "forum" msgid "Open" msgstr "Soy otra traducción"
Para agregar el msgctxt a una nueva clave, prepéndelo 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] "Tienes un nuevo mensaje"
msgstr[1] "Tienes %{count} nuevos mensajes"
Inexacto
La palabra clave inexacto se utiliza para la verificación de traducciones. Inexacto invoca automáticamente el proceso de no verificación dentro de Phrase.
#, inexacto msgid "app_title" msgstr "Mi Proyecto de Software"