|
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 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 |
|
.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
-
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 |
|
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 |
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"