Hola. Se que esta lista es para la traducción de las páginas del sitio oficial de GNU pero tras preguntar en distintos fotos y listas y no encontrar solución a mi problema he pensado que tal vez uds. puedan ayudarme por tener más experiencia en el uso de la herramienta de traducción GNU gettext.
Estoy traduciendo una web del Inglés al español. Para ello he usado gettext, pero tengo problemas con la codificación UTF-8. El problema es que todas las páginas traducidas con gettext se declaran a sí mismas como UTF-8 pero en realidad las frases generadas por gettext, son iso-8859-1 (latin-1). He llegado a esta conclusión forzando la codificación tanto en Firefox como en mi editor de textos. En ambos, se selecciona de forma automática la codificación UTF-8 pero en vez de los caracteres especiales se muestran cuadros. Si fuerzo la codificación a iso-8859-1 los caracteres se muestran correctamente. Las partes de las páginas web que no han sido traducidas mediante gettext se muestran bien en UTF-8, por lo que deduzco que es un problema de gettext. La pregunta es: ¿Por qué msgfmt genera el archivo .mo en iso-8859-1 y no en UTF-8? ¿como puedo forzarlo para que genere el archivo binario en UTF-8? Por si ayuda, estas son las precauciones que he tomado para asegurame compatibilidad con UTF-8: * Todos mis archivos de fuentes (*.php) están en UTF-8. * APACHE está configurado para usar UTF-8 por defecto: (AddDefaultCharset UTF-8) * Mi archivo con las frases traducidas (.po) está en UTF-8: # file locale/es_ES/messages.po locale/es_ES/messages.po: UTF-8 Unicode PO (gettext message catalogue) * He indicado en la cabecerda del archivo con las frases traducidas (.po) que el texto se encuentra en UTF-8: # grep charset locale/es_ES/messages.po "Content-Type: text/plain; charset=UTF-8\n" Y estos son los comandos que he usado para generar los archivos .pot, .po y .mo: # mkdir -p locale/es_ES/LC_MESSAGES/ # xgettext --indent --no-wrap --sort-by-file --from-code=UTF-8 --output locale/messages.pot *.php # cp locale/messages.pot locale/es_ES/messages.po # msgfmt --verbose --output-file locale/es_ES/LC_MESSAGES/messages.mo locale/es_ES/messages.po Gracias de antemano. Un saludo.
_______________________________________________ Lista de correo Web-translators-es [email protected] http://lists.gnu.org/mailman/listinfo/web-translators-es
