¿Alguna empresa/persona para traducir programas?

Namaris

Buenas,

necesito una empresa o persona que me traduzca todo un software a los siguientes idiomas:

Frances / Portugues / Gallego

¿Donde y por que criterios podría buscarlo? Pongo el post aqui por si alguien estuviera interesado (MP por favor)

Troyer

Mi novia es traductora, yo desarrollador de software, tiene experiencia en traducción (y además le puedo ayudar yo si es en traducción en código inline).

También por si alguien de aquí quiere traducciones puede ponerse en contacto conmigo, el precio va por palabra.

Merkury

#1 Busca una empresa de traduccion, les pasas todos textos y luego ya los metes a tu app como sea, templates, hardcoded o lo que sea.

1 respuesta
Zerokkk

#3 Siendo tantos lenguajes, yo creo que lo suyo sería implementar i18n y pista, ¿no?

2 respuestas
Merkury

#4 Basicamente, y un sistema de templates.

1 1 respuesta
Namaris

#4 #5 Se trata de un software tipo ERP escrito en C++ y con origenes del proyecto en 1990, ¿sigue siendo viable esto del i18n?

No lo conocia para nada, he leido algo en Wikipedia, agradeceria que me aconsejaran si es viable para seguir investigando su aplicación, gracias!

2 respuestas
Zerokkk

#6 A ver, técnicamente, una implementación de i18n no es harto complicada de hacer, incluso si en tu lenguaje/framework no existen utilidades para ello, no te será difícil escribirte una librería propia que lo implemente.

La idea no es complicada: creas X contenedores con Y asignaciones de clave valor tal que "referencia=sentencia", donde:

  • X son ficheros o tablas donde tienes las palabras que quieres internacionalizar, uno para cada lengua. En este caso 4: francés, portugués, gallego, y me imagino que español o inglés dependiendo de en qué idioma esté escrito ahora.

  • Y será el conjunto de sentencias que hay que traducir. Si tu programa tiene 580 sentencias, entonces en cada fichero de los anteriormente mencionados, tendrá 580 entradas.

  • Cada entrada será una referencia, ya sea un número o una string, seguida por algún separador (como dos puntos, signo de igual...), y continuada por una sentencia, la que queremos traducir.

Luego simplemente, a través de un sistema de templates o simplemente instanciando un objeto de la clase controladora de dichos archivos, llamando a una función "getString(referencia, lenguaje)" (por ejemplo), en donde necesitas dichas strings. Es fácil modificar el archivo una vez hecho esto:

  1. Llegas a una string hardcoded, la copias.
  2. La metes en el archivo del lenguaje nativo del programa (español o inglés en este caso).
  3. Lo traduces, y metes cada traducción en el fichero que se corresponde.
  4. Marcas la nueva fila en cada fichero, con una referencia, ya sea numérica o por ejemplo, la misma string que quieres sustituir (aunque esto será menos optimizado ya que comparar strings es computacionalmente más coñazo, y no sé si el compilador indexará esta operación).
  5. Vas a donde tenías la string hardcoded, y lo sustituyes por un método parecido a lo que decía antes: getString(referencia, lenguaje), donde el lenguaje viene deteterminado por una variable global que podrías declarar en la clase principal del programa cuando se carga y selecciona idioma.

Y listo, todo esto se hace muy rapido. Lo malo es la última parte de tener que ir picando las palabras y extrayéndolas en los ficheros, aunque para esto se podría hacer un script en caso de que sea una cantidad abominable de sentencias (visto que es un ERP, tiene pinta), que lo haga automáticamente (aunque a ver de dónde sacas unas traducciones exactas, entonces xD).

Suerte!

1
Troyer

#6 Todo depende de lo bien que esté hecho, con C++ puedes hacer liadas bien gordas y dificultar la implementación de i18n, lo ideal es realizarlo desde un principio e incluirlo al planing del proyecto.

A lo mejor es un esfuerzo que merece la pena, ya que te facilita mucho el mantenimiendo de la localización.

Usuarios habituales

  • Troyer
  • Zerokkk
  • Namaris
  • Merkury