JavierGonzalez / POL

A Democratic Social Network
https://pol.virtualpol.com
MIT License
40 stars 29 forks source link

1. Planificación del sistema de internacionalización #18

Closed JavierGonzalez closed 12 years ago

JavierGonzalez commented 12 years ago

Consiste en implantar el mecanismo de internacionalizacion.

Es decir:

bradduk commented 12 years ago

Yo, si se me permite el comentario, me aprovecharia de la buena fe de la gente y si alguien quiere la plataforma en un idioma concreto se le da el fichero de texto y que lo traduzca. Lo he visto hacer así en multitud de proyectos y es lo que mejor fucniona, menos trabajo para nosotros y más implicación para la comunidad.

Por otro lado, ¿No debería coger el idioma del navegador? ¿Es buena idea dejar que el gobierno ponga un idioma por defecto?

VaraDev commented 12 years ago

Si bradduck, es bueno dejar al gobierno escoger por eso del idioma oficial establecido en la constitucion.... Por otro lado, en MuVi se tradujo con los poquitos usuarios que habia.. creo que en VP habria gente dispuesta a la traducción (si hace falta y quereis yo traduzco al Gallego)

JavierGonzalez commented 12 years ago

Bradduk +1 a lo de dar los archivos para que traduzcan... Aunque si esto se automatiza mediante una web como http://www.transifex.net Pues mejor ¿no?

Sobre lo de la plataforma... cada plataforma tiene que tener su idioma configurado. Por cojones. Porque los usuarios sin registrar tienen que ver la plataforma en su idioma "nativo". Además... no habrá plataformas multi-idioma. Esta cofniguración será estática. No tiene porqué cambiar.

Sobre el usuario, creo que lo mejor es que se configure "por defecto" al idioma de la plataforma en la que esté. Es lo natural. Ahora bien, ya que nos ponemos no cuesta nada permitir que cada usuario seleccione.

¿Que os parece este enfoque?

VaraDev commented 12 years ago

Totalmente correcto... Y no se como funcionara Transifex pero tiene buena pinta.

oscarcp commented 12 years ago

@VaraDev Nosotros en e-cidadania hemos pasado a Transifex hace unos días y es maravillosamente cómodo. Basta con mapear los po's con transifex-client y después trabajar como si fuese un repositorio más, mediante pull (para obtener las actualizaciones de transifex) o push para enviarlas. El flujo es tal cual como el de git: tx init, tx add , tx push, tx pull.

Lo bueno es que si tienes las traducciones centralizadas (en e-cidadania nostros las modularizamos) puedes usar el patrón "lang" y el solo se recorre todos los .po automáticamente :)

Actualización: Por cierto, para la traducción al gallego podrías tirar del "Proxecto Trasno" que son los encargados de las traducciones de la mayor parte del software libre al gallego.

VaraDev commented 12 years ago

Bien entonces. Lo de Proxecto Trasno no lo conocia, pero podria valer... PD: ¿e-cidadania?

oscarcp commented 12 years ago

@VaraDev e-cidadania es un proyecto en el que estamos trabajando, también de democracia electrónica, pero orientado a democracia participativa más que a democracia directa, puedes verlo en http://github.com/cidadania/e-cidadania :)

rafacouto commented 12 years ago

El uso de Gettext en PHP es sencillo:

  1. Procesar todo el texto en el código con la función gettext() usando el alias de función __() [dos subrayados]
  2. Generar los fichero .POT (plantlllas de objetos portables) con "find . -iname "*.php" | xargs xgettext"
  3. A partir de los fichero .POT los traductores pueden generar los .PO (objetos portables) en distintos idiomas.
  4. Los traductores envían de los .PO al desarrollador que los mezcla en con el comando msgmerge y los compila en formato .MO con el comando *msgfmt".

La función gettext() busca por los .MO las traducciones en la estructura de directorios de 'locale' en tiempo de ejecución. Una mínima configuración es necesaria para esto: http://stackoverflow.com/questions/5267906/gettext-working-locally-but-not-on-the-host-server

Para traducir desde .POT a un .PO en un idioma concreto, se suelen usar herramientas como Poedit o subirlos a webs como transifex, cada traductor usa su preferida (algunas conectan con traductores automáticos y diccionarios).

Es interesante enviar los ficheros a las distintas comunidades de traducción que hay (por ejemplo, Trasno para traducir al gallego) donde tienen equipos bien formados en traducir correctamente y con criterios bien estudiados.

Más info: http://www.xperimentos.com/2009/02/21/ficheros-de-traduccin-pot-po-y-mo/