sql >> Base de Datos >  >> RDS >> Mysql

Gettext o traducción de base de datos

La localización es difícil. Es realmente difícil. No es solo "pairs of words" => "Wortpaare" , es mucho más complejo que eso. Lo que la mayoría de la gente olvida cuando mira gettext y dice "Uf, feo" es que el proceso de localización es mucho más importante que los detalles técnicos de la implementación. Esto se debe a que los traductores reales generalmente no son programadores y probablemente ni siquiera sean internos. Esto causa muchos más dolores de cabeza de lo que piensas. gettext es realmente antiguo, ha sido probado en batalla y tiene una gran cadena de herramientas detrás que está ajustada para soportar este proceso. Si quiere hacer i18n y l10n correctamente, necesita un sistema potente. gettext es eso y cuenta con el apoyo de una amplia gama de herramientas. Su Homebrewed Translation System™ no lo hace.

En primer lugar, necesita un sistema robusto para extraer cadenas traducibles. Sin poder extraer de forma automática y reproducible cadenas traducibles del código fuente, tiene una montaña de trabajo para cada nueva cadena que desea traducir. En gettext, xgettext hace eso.

A continuación, necesita una herramienta para sincronizar las cadenas extraídas con las traducciones ya existentes de manera que no se pierda ninguna traducción y que solo se conserven las traducciones ligeramente modificadas, si es posible. En gettext, msgmerge hace eso.

A continuación, desea una forma de agregar información adicional a las cadenas. Desea poder agruparlos por categoría, "dominio" y contexto, es posible que desee agregar comentarios para el traductor al código fuente y que los traductores puedan agregar comentarios a las traducciones. gettext es compatible con todo eso.

A continuación, desea un formato de archivo que tenga un buen soporte de una variedad de herramientas, ya que puede enviar sus archivos a China para traducirlos allí. La razón por la que puede enviarlos a traductores externos también es la razón por la que necesita una buena herramienta de sincronización para fusionar los cambios, ya que este puede ser un proceso muy asincrónico. Los archivos PO están muy bien soportados, porque gettext es muy antiguo. Hay muchas herramientas comerciales y de código abierto que respaldan el proceso de localización en muchos niveles, según sus necesidades específicas.

No subestimes la tarea de localización, elige una herramienta que se adapte bien al proceso y apréndela. gettext es una gran herramienta, aunque ciertamente no es la más amigable para principiantes.

Por lo que vale, aquí está mi extensión gettext para Twig , lo que hace que gettext para PHP sea aún mejor.