Formatos / Gettext PO

Archivos PO, con la cabecera de plurales ya escrita

Gettext es el formato más antiguo de todos y el que más maneras tiene de perder información. Dos de ellas importan.

.po / .pot

La cabecera de plurales va por idioma, y no es opcional

Un archivo PO lleva su propia regla de plurales en la cabecera: cuántas formas tiene el idioma y una expresión que asigna un número a una de ellas. Si está mal, la aplicación elige el texto equivocado para el número correcto, y nadie se da cuenta hasta que alguien tiene dos de algo.

El checo es el ejemplo en el que todos fallan. Los catálogos antiguos declaran tres formas; CLDR dice cuatro, porque una cantidad decimal tiene forma propia. Linguiqo escribe nplurals=4; plural=(n >= 2 && n <= 4 ? 1 : n == 1 ? 0 : 3); y muestra en el editor las cuatro casillas correspondientes.

El japonés recibe una forma y el árabe seis. La cabecera se genera a partir del idioma, nunca se copia del archivo que llegó.

msgctxt es la diferencia entre dos textos que se escriben igual

«Open» como verbo y «Open» como estado son una sola entrada en un formato sin contexto, y el traductor tiene que adivinar cuál está en pantalla. Gettext lo resuelve con msgctxt, y Linguiqo lo conserva como parte de la clave en lugar de descartarlo.

Así los dos sobreviven a la ida y vuelta como dos textos, y el traductor ve cuál es cuál.

Lo que sale

Un catálogo con las mismas entradas en el mismo orden, la cabecera reescrita para el idioma de destino y msgstr[0] a msgstr[n] rellenos en el orden que espera la regla de ese idioma.

Las entradas fuzzy conservan su marca. Un borrador automático que llegó como fuzzy sale como fuzzy, porque ese estado significa que aún no lo ha revisado una persona, y una importación no es una persona revisándolo.

Preguntas

¿Puedo importar una plantilla .pot?

Sí. Un POT es un PO con las traducciones vacías, así que se importa como textos de origen y nada más.

¿Se conservan mis comentarios?

Los comentarios extraídos y las referencias al código llegan con el texto y el traductor los ve como contexto.

¿Qué pasa con las entradas fuzzy?

Llegan marcadas como fuzzy y siguen así hasta que alguien las confirma. Una importación no promueve nada a traducido.

Sube un archivo Gettext PO y compruébalo

La demo lee un archivo real tuyo y te muestra el resultado. Sin cuenta, y a las dos horas se borra todo.

Abrir la demo

Qué es Linguiqo