Comunidad Gambas-es
Sucede algo curioso con las traducciones. - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Gambas (https://gambas-es.org/forumdisplay.php?fid=3)
+--- Foro: Aplicaciones/Fragmentos de Código (https://gambas-es.org/forumdisplay.php?fid=8)
+--- Tema: Sucede algo curioso con las traducciones. (/showthread.php?tid=389)



Sucede algo curioso con las traducciones. - tincho - 04-05-2021

Hola amigos.
Les cuento algo que me parece, cuando menos, curioso sobre las traducciones.
Mi sistema esta en es_ES pero el programa a traducir esta en inglés USA.
Bien, cuando abro el dialogo de traducción lo primero que aparece es el idioma de origen por defecto y el idioma destino a traducir es_ES, bien, hago la traducción al español y luego agrego Francés de Francia y lo traduzco también, pero en el directorio aparecen es_ES.po y fr.po
¿Por que no es fr_FR.po? o si no ¿Por que no es es.po?
¿Es porque mi sistema es es_ES? ¿Alguien que tiene sistema fr_FR si traduce del ingles le pasa algo similar?
Creo que o son todos los idiomas con localización o sin localización.
Yo prefiero que por defecto el IDE genere archivos sin localizacion porque en el caso de español hay muchísimas variantes.
Luego si se desea crear una localización especifica que se pueda hacer manualmente.
¿Que opinan?
[Imagen: DREl3Jo.png]
[Imagen: zFfMM21.png]
[Imagen: UPUimhs.png]
[Imagen: l174sbR.png]


RE: Sucede algo curioso con las traducciones. - jguardon - 04-05-2021

Cuando creas un programa nuevo en gambas has de marcarlo como proyecto "traducible". Bien, veo que eso lo tienes claro, entonces lo segundo es decidir el idioma por defecto de la aplicación, es decir, en qué idioma vas a escribir los textos de los controles o las cadenas traducibles. Si por ejemplo, como suelo hacer yo, escribes los programas en inglés por defecto, para luego ir añadiendo otros idiomas, como el español, italiano, etc, etc, lo primero que hay que hacer es escoger el idioma por defecto en el desplegable de la izquierda del formulario que muestras.

A partir de ahí, sólo es cuestión de ir añadiendo idiomas, pero es necesario fijar antes el idioma por defecto a inglés (o el que elijas durante el desarrollo de tu programa).

Después, hay que tener en cuenta varios detalles con las codificaciones de los lenguajes en Linux, por ejemplo en español existen un montón de variantes de la forma es_XX.po para localizaciones de los diferentes países de habla hispana. En el caso de que hagas una traducción al español de España, es_ES, podría darse el caso de que un argentino que en su sistema tenga instalado es_AR, no viese las traducciones y solo se mostrase el programa en el idioma por defecto (en mi caso suelo poner por defecto el inglés, como dije antes). Por ello, es conveniente crear una traducción en el idioma base, que podríamos llamar neutro, al que caería la traducción si no se encuentra un localismo, 'es.po'. Basta con duplicar o copiar las traducciones de uno a otro y modificar al gusto, según nuestros localismos.

En el caso del inglés, sucedería lo mismo, pudiendo ser que un australiano no viese la traducción de un americano o un inglés. No lo he podido probar por lo tedioso que llegaría a ser, pero son cosas que tendríamos que tener en cuenta. Por eso, si no es muy necesario distinguir entre "puedes" y "podés" por ejemplo en argentino o uruguayo, yo tendería a usar el idioma base.

Saludos


RE: Sucede algo curioso con las traducciones. - tincho - 04-05-2021

Hola Jesús,
Yo hago igual que tu, base inglés y luego traduzco a 3 o 4 idiomas ademas del español común.
El tema me empezó a interesar algo mas en profundidad porque estoy reescribiendo mi programa llamado Tradukisto para que sea mas rápido y para que aproveche las traducciones preexistentes en el directorio de programación.
Pero el punto que planteo aquí (que también estoy conversando con Benioite en la lista internacional) es que el interprete crea un archivo es_XX.po antes que uno es.po (que es el que me parece mas práctico)
Creo que el interprete debería crear por defecto el tipo general "es.po" independientemente de la localización que exista en el sistema y si fuera necesario crear un "es_XX.po" porque el programa es de índole legal o algo por el estilo, en donde las frases puedan diferir de acuerdo al país, (un muy pequeño porcentaje de los programas) que el desarrollador lo cree manualmente.
Este cambio haría que entre todos los programadores no solo disfrutemos de programas en nuestro idioma nativo sino que estandarizaría y aliviaría enormemente la tarea de traducir los programas sin tener que usar internet o un traductor, solo bastaría echar un vistazo a otros programas que tengamos en el disco (ya voy a poner un tema con esto).

Saludos.


RE: Sucede algo curioso con las traducciones. - tincho - 06-05-2021

Me gustaría saber que opinan sobre este tema.
Saludos.


RE: Sucede algo curioso con las traducciones. - Shell - 06-05-2021

Hola Tincho.

No es que sea dado a traducir los programas pero entiendo que los programas debe traducirse para que no sea solo en español
si quieres que llegue a otras personas que no hablen español.

Esa forma de crear los archivos .po puede que no sea solo del propio del editor de Gambas y que los nombres de los archivos
sigan unas normas.

Ejemplo, sobre los archivos con extensión .pot

Cómo traducir un archivo PO o POT

Habría que buscar algo que explique el origen, creador, estructura, etc.
No te puedo ayudar mucho.

Saludos


RE: Sucede algo curioso con las traducciones. - tincho - 06-05-2021

(06-05-2021, 13:05)Shell escribió:  Esa forma de crear los archivos .po puede que no sea solo del propio del editor de Gambas y que los nombres de los archivos
sigan unas normas.

Hola Shell, el tema de los archivos .po o .pot lo tratare mas adelante en otro tema llegado el caso. El interprete (ide de gambas) usa este estándar de creación de archivos .po pero no lo define, es correcto lo que dices.
Agradezco tu interés pero este tema, pero el hilo conductor esta enfocado a la lógica interna del interprete en la toma de decisiones para elegir el idioma por defecto a traducir, no en el archivo .po en si.
La idea que intento discutir es si en el caso de nuestro idioma es necesario hacer las traducciones localizadas.
Por ejemplo si tu haces un programa gambas tendrá en cuenta tu LOCALE para traducirlo pero para el resto de idiomas no se comporta igual.
Ejemplo:
Si programas en inglés y tu sistema tiene el idioma es_ES, entonces cuando abras el traductor de Gambas, este va a crear un archivo es_ES.po, bien luego me pasas el programa a mi (que tengo mi sistema en es_AR) para que lo revise, bien entonces yo le cambio unas cuantas cosas entonces abro el traductor para traducir lo que agregue y la traducción esta vacía porque en mi sistema Gambas intenta encontrar el es_AR.po y como no lo encuentra crea uno vacío.
Es en este punto en que si no estoy atento puedo pensar que no existe una traducción al español. Luego supongamos que me doy cuenta que si existe la es_ES.po y edito esta agregando las 4 o 5 lineas que faltan traducir, todo perfecto. Pero luego el programa se lo descarga un alguien que tienen es_PE (español de Perú) entonces como gambas no encuentra el es_PE.po instenta encontrar es.po que lógicamente tampoco encuentra entonces a pesar de estar traducido al español (de españa) en Perú vas a ver el programa en inglés.
Este es el principal motivo (hay otros) por el que intento que el primer idioma por defecto en las traducciones sea Español (común) y no el localizado.
Bueno esto parece la explicacion del arquitecto de Matrix. Smile


Saludos.


RE: Sucede algo curioso con las traducciones. - jguardon - 06-05-2021

Te entiendo y creo que en otro post intenté explicar algo parecido a lo que argumentas.

Mi lógica me dice que has de definir un lenguaje por defecto para tu programa, en el que estés escribiendo tus cadenas y textos del los controles y que a partir de ahí, escogerás los idiomas a los cuales desees traducir tu aplicación. Me da igual el idioma de tu Linux, yo estoy fijando el idioma por defecto en el que escribo mi programa y a partir de ahí, voy a crear mis traducciones.

Suponiendo siempre que partamos del inglés como idioma por defecto, voy a crear un español neutro escogiendo Español (es.po) lo cual soluciona tu (nuestro) problema. También podemos crear traducciones paralelas en otros locales derivados del "es"  genérico, como es_ES, es_AR, es_PE y un largo etcétera.

Sin entrar en descalificaciones como suele hace uno de los participantes de la lista de correo de gambas cuando se refiere a idiomas/colonialismos, que no vienen al caso, creo que no llego a comprender el problema que afrontáis a menos que se me escape algo sobre vuestro flujo de trabajo.

Saludos


RE: Sucede algo curioso con las traducciones. - tincho - 06-05-2021

(06-05-2021, 20:42)jguardon escribió:  Mi lógica me dice que has de definir un lenguaje por defecto para tu programa, en el que estés escribiendo tus cadenas y textos del los controles y que a partir de ahí, escogerás los idiomas a los cuales desees traducir tu aplicación. Me da igual el idioma de tu Linux, yo estoy fijando el idioma por defecto en el que escribo mi programa y a partir de ahí, voy a crear mis traducciones.

Si eso lo tengo claro, como te comente antes, yo hago los programas en el idioma ingles USA (ver comentario final) que viene por defecto cuando creas un programa con gambas. Luego traduzco a español y alguno que otro mas.
(06-05-2021, 20:42)jguardon escribió:  Suponiendo siempre que partamos del inglés como idioma por defecto, voy a crear un español neutro escogiendo Español (es.po) lo cual soluciona tu (nuestro) problema. También podemos crear traducciones paralelas en otros locales derivados del "es"  genérico, como es_ES, es_AR, es_PE y un largo etcétera.
Si, por supuesto, el es.po es una buena solución porque permite un amplio despliegue en todo el mundo de habla española. Y por supuesto que hay programas que necesariamente tengan que tener una localización por algún tema técnico/legal o simplemente por que este bien acorde a nuestros localismos.
(06-05-2021, 20:42)jguardon escribió:  Sin entrar en descalificaciones como suele hace uno de los participantes de la lista de correo de gambas cuando se refiere a idiomas/colonialismos, que no vienen al caso, creo que no llego a comprender el problema que afrontáis a menos que se me escape algo sobre vuestro flujo de trabajo.

Si se a lo que te referís, pero bueno, deja estar esos comentarios "destructivos" que no son representativos de todos los de la lista, de hecho hubo una gran disconformidad con esas formas y opiniones poco armoniosas por decirlo de alguna manera.
Conclusiones:
Estos comentarios que vengo haciendo sobre las localizaciones (aquí y en la lista) de deben a temas técnicos, no hay por mi parte una intensión ni nacionalista ni anti nacionalista ni nada que termine en ista Smile . Creo que es.po es mas versátil que es_XX.po, solo eso.
Intento fomentar el uso mas amplio de los programas independientemente del idioma base en que estén escritas las sentencias y los mensajes.

Estoy re-escribiendo desde cero un programa para traducir programas gambas que, creo, les va a encantar porque explota una base de conocimiento que no estaba explotada hasta ahora y esa es las traducciones previas de otros programas ya sean de nuestra propia autoría como de otros desarrolladores y con dos clics literalmente podemos traducir a múltiples idiomas y mientras mas programas correctamente traducidos tengas en el directorio mas afinada sera la salida.
Este es el origen de todo este lio, intento ordenar la información para usarla infinidad de veces y no una sola.
Saludos.


RE: Sucede algo curioso con las traducciones. - jguardon - 06-05-2021

Perfecto, tincho. Estoy al corriente de tus avances y lo veo como una especie de IA aplicada a las traducciones. En mi opinión, creo que la forma óptima de proceder con las traducciones sería primeramente crear las genéricas y posteriormente copiar y modificar hacia los localismos de cada país cuando se requiera.

Siempre lo he tenido claro, por eso me surgía la duda de que a otros, valga la redundancia, os surgiera la misma duda al cabo del tiempo, pero entiendo que no todo el mundo tiene los mismos flujos de trabajo ni las mismas necesidades en un momento dado.

También puede ser que algunas cosas hayan cambiado en el transcurso del tiempo desde que ando bastante alejado de la programación en gambas por motivos personales y laborales, ojalá tuviera tiempo suficiente para ello.

Intento ayudar en lo que pueda, si hace falta.

Saludos


RE: Sucede algo curioso con las traducciones. - tincho - 07-05-2021

(06-05-2021, 21:48)jguardon escribió:  Perfecto, tincho. Estoy al corriente de tus avances y lo veo como una especie de IA aplicada a las traducciones. En mi opinión, creo que la forma óptima de proceder con las traducciones sería primeramente crear las genéricas y posteriormente copiar y modificar hacia los localismos de cada país cuando se requiera.

Si en efecto seria algo así. El flujo de información seria el siguiente:
[1] Adquisición de datos > [2] Selección de traducciones de salida > [3] Selección de proyectos gambas a traducir.
Unos segundos mas tarde están generados todos los xx.po y xx.mo en cada .lang/ de cada proyecto.
Mientras mas traducciones y de mejor calidad o cercanía regional mas afinada sera la traducción de los proyectos.
De momento estoy enfocado solo en las versiones generales de los idiomas, como decías antes, pero es algo arbitrario que definí así para avanzar mas rápido en el desarrollo luego pondré una opción en la configuración, al estilo idiomas neutros o idiomas regionales o algo así, ahí me gustaría saber mucho vuestras opiniones si es que les parece interesante y lo usan.