Sobre multiidioma


([N4] Fran) #1

Buenos dias:

 

Por fin he sacado algo de tiempo libre para retomar el estudio de v7... a ver cuanto me dura!!!

 

Estoy haciendo una pequeña aplicación de gestión de vServers para probar las nuevas características de v7: Multi-idioma, herencia, drag&drop, layouts y eventos. Es una aplicación muy sencilla y visualmente fea (como siempre jajaja) pero en la que aplico todas estas características.

 

Hasta ahora, todas las pruebas que había hecho con el multi-idioma habían salido bien, pero en uno de los formularios de esta mini-aplicación veo un par de cosas raras.

En la primera imagen se puede ver los textos, en español e inglés, que indico a uno de los textos que utilizo como etiquetas de campo.

La segunda imagen es el formulario con vClient en idioma español, y todo está bien.

Luego cambio el idioma a inglés y veo que todos los nombres de campos se traducen bien, excepto 2, la fecha y el método de activación. Además, en el método de activación se indica Activation Method (que es el nombre de la tabla maestra) en lugar de Activation (que es el texto que he indicado).

 

¿Será debido a que es el nombre de un campo enlazado a una tabla que está en otro caja que he heredado?. En cualquier caso, también sucede con el campo fecha, que es un campo de la tabla que no se refiere a otra tabla.

Sin embargo, el resto de los campos los traduce bien. ¿¿?? Si he observado una cosa, el idioma que he asignado a las cajas es el inglés de UK y el que figura para cambiar el idioma en vClient es el inglés de EEUU. ¿Puede tener esto algo que ver?.

Al hilo de esta última reflexión, se me ha ocurrido otra pregunta. Le he añadido a las cajas el idioma Gallego (Galician) pero, ¿como se selecciona este idioma en tiempo de ejecución en vClient?... en el cuadro de selección de idioma siguen apareciendo "solamente" los 3 de serie: Español, inglés y chino.

 

Todo esto lo estoy haciendo en una aplicación en mi vServer de la nube. Si necesitais comprobar algo, dadme un toque y os creo un usuario para que podais conectaros y ver como está hecho por dentro (pero sin reirse de mi, eh!?).

 

Ya digo que es una aplicación muy muy sencilla (casi no se le puede llamar ni aplicación), pero como cuenta con varias de las nuevas características de v7 si quereis la ponemos en el catálogo de aplicaciones.

 

Un saludo,

 

Fran.

fjpnovo@efeuno.org

www.efeuno.org

 

[attachment=3321,346] [attachment=3321,347] [attachment=3321,348]


([N4] rcueto.velneo) #2

Hola, Fran:

Hemos estado probando con la caja vDiary (que hereda vBase) y hemos comprobado que los controles de formulario de tipo “Nombre de campo” devuelven correctamente el valor, aún tratándose de campos de cajas heredadas.

Tampoco creemos que sea debido a las opciones de idioma, pues, de lo contrario, sucederá en todos los sitios.

¿No será que has realizado alguna modificación en la caja de datos y no ha reiniciado la instancia correspondiente?

En lo que respecta a la selección del idioma, informarte que en la versión actual las opciones del comando en stock de cambiar idioma son fijas (sistema, español, inglés y chino).

Un saludo.


([N4] Fran) #3

Buenas tardes Rafa:

 

Por el reiniciado de las instancias no debe ser, ya que para descartarlo las he reiniciado varias veces (las 4, las 2 de las cajas de datos y las 2 de las de aplicación). Además es extraño que el texto que se muestra en ejecución no es el que he indicado en edición... no se, es raro. De todas formas seguiré mirándolo amenazadoramente, a ver si se me ocurre algo.

 

Si quereis comprobarlo in-situ, os creo un usuario en mi server.


([N4] rcueto.velneo) #4

Hola, Fran:

Lo ideal sería dar con alguna pauta que permita reproducirlo. ¿Habías hecho alguna modificación o cambio de nombre de los campos cuyo nombre no se muestra de forma correcta?

Un saludo.


([N4] Fran) #5

Buenas tardes Rafa:

 

Esto es un misterio misterioso... parece que hay algún byte flojo por algún sitio. No sabría decir porqué, pero he observado un comportamiento extraño al continuar probando esto.

 

Me explico: Cambié el idioma a inglés en vDevelop y pulsé la tecla Fin sobre el formulario, para ver si en la previsualización sucedía lo mismo... y resultó que si.

Entonces edité de nuevo las propiedades de los campos que fallan y vi que, en la propiedad NAME, el nombre que se muestra antes de pulsar en el icono del multi-idioma no coincide con ninguno de los 2 textos escritos para cada idioma... muestra el texto Telephone.

 

Parece como si al copiar / pegar el control de otro formulario (ya que la tabla de vServers no tiene campo teléfono), no se tratase bien el nombre del campo al cambiar el idioma a inglés... pero si en español. Es raro, pero es lo que se puede ver en las capturas de pantalla de vDevelop que adjunto a continuación.

 

En primer lugar el pantallazo de vDevelop en Español: Aqui se puede ver que el nombre indicado en el árbol de propiedades coincide con el texto escrito para el español en el desplegable. Debido a esto, los textos se muestran correctamente cuando vClient se ejecuta en español.

 

A continuación el pantallazo de vDevelop en inglés: Aqui se puede ver que el nombre indicado en el árbol de propiedades (Telephone) NO COINCIDE con el texto indicado para el inglés en el desplegable (Activation). En este caso, al ejecutar vClient en inglés el texto que se muestra en el formulario es Activation Method.

Este era el nombre original del campo en la tabla. Posteriormente lo cambié por Activation. En este caso sucede lo mismo, el texto que se muestra en el árbol de propiedades no coincide con los textos del desplegable multi-idioma, solamente cuando se cambia vDevelop a Inglés.

Esto se puede ver en el tercer pantallazo adjunto.

 

Parece que al cambiar el nombre del campo en las tablas el multi-idioma no lo detecta bien... pero no sabría decir si es debido a algún idioma en particular o es que solamente se "refresca" el cambio en el primer idioma de la lista y no en los restantes.

 

Un saludo,

 

Fran.

fjpnovo@efeuno.org

www.efeuno.org

[attachment=3366,353] [attachment=3366,354] [attachment=3366,355]


([N4] Fran) #6

Hola otra vez:

 

Otro dato más, que lo lia todo algo más si cabe.

 

En el pantallazo adjunto muestro que las propiedades del campo Serial Number tampoco coincide, como en los casos del post anterior. Sin embargo, este texto si se muestra correctamente al cambiar el idioma en vClient. ¿¿??

 

Resumiendo: Hay algo raro, pero no se lo que es.

 

Otro saludo,

 

Fran.

fjpnovo@efeuno.org

www.efeuno.org

[attachment=3367,356]


([N4] rcueto.velneo) #7

Hola, Fran:

Te rogamos nos confirmes entonces si los pasos para reproducirlo son los siguientes:

1) Crear un formulario para una tabla x.

2) Cambiar el nombre de uno de los campos editados en el formulario anterior.

3) Copiar la etiqueta de ese campo del formulario del punto 1, pegarla en otro formulario y modificar el campo asociado.

Gracias.

Un saludo.


([N4] Fran) #8

Hola Rafa:

 

A ver si me aclaro, que tengo un lio importante:

 

1.- Con respecto al tema de que el nombre mostrado por el árbol de propiedades sea distinto al mostrado por los edit de multi-idioma (imagen 1 de este post):

 

Creo que es debido (y digo creo porque no puedo asegurarlo) a que el inglés seleccionado en la caja de datos es de UK y en la caa de aplicación es de USA. Esto, combinado con algo más (no se si ha sido copiar-pegar formularios entre cajas o que), parece que daba como resultado la discrepancia.

 

Al cambiar el idioma de la caja de aplicación de inglés de UK a inglés de USA, el texto Telephone ya se muestra tanto en el árbol de propiedades como en los edit multi-idioma... pero ya digo que no se exactamente la secuencia de pasos necesaria para provocar la discrepancia (cambios de idioma, copy-paste de controles, etc).

 

De hecho, al cambiar el idioma de la caja de aplicación, el texto mostrado en el árbol de propiedades no se muestra en los edits de multiidioma, como se ve en la segunda imagen de este post... sin embargo, si tecleo el texto en el edit del inglés de USA, si lo muestra en el árbol de propiedades, al contrario de lo que sucedía el otro dia. (Como ves, es bastante lioso y no sabría asegurar exactamente como suceden estas cosas).

 

2.- Respecto a que en ejecución se mostrase Activaction Method en lugar de Activation en el form, creo que es debido a que estoy usando un control nombre de campo, en lugar de un control texto estático. Los textos que se muestran son los nombres de los campos en la estructura de las tablas y no se hace caso de los textos indicados en los edits multi-idioma.

 

En fin, después de haberme cargado las descripciones de los campos al realizar los cambios de idioma en las cajas, espero que estas pistas sean de utilidad!!!

 

Un saludo,

 

Fran.

fjpnovo@efeuno.org

www.efeuno.org

 

[attachment=3379,358] [attachment=3379,359]


([N4] Fran) #9

Buenas tardes:

 

Otra cosa que olvidé comentar esta mañana. La única manera que he encontrado para cambiar el nombre del campo en inglés mostrado por el control nombre de campo ha sido:

 

- Cambiar vDevelop a inglés.

- Cerrar y volver a abrirlo.

- Editar la tabla y cambiar el nombre del campo.

 

¿Se puede hacer esto de otra manera que no requiera los pasos anteriores?

 

El texto en los edits de multi-idioma si puede cambiarse sin problemas, pero el nombre del campo que muestra el control nombre de campo solo he podido cambiarlo de esta forma (una vez que la tabla ya está creada).

 

Otro saludo,

 

Fran.

fjpnovo@efeuno.org

www.efeuno.org

 


([N4] fgutierrez.velneo) #10

Revisando las imágenes que pones, he visto que tienes dos idiomas inglés, uno correspondiente al estadounidense y otro al británico.

Revisa que en caja de datos y en caja de aplicación tengas los mismos idiomas y en el mismo orden. Luego vuelve a probar y mira a ver si sigues reproduciendo el problema.

Sí es verdad que si copias objetos de otra aplicación que tengan más idiomas, tiene estos en memoria hasta que guardas la caja y cierras vDevelop. Si creas los idiomas que traen los objetos en la caja, esas etiquetas son respetadas y aparecen. Como en ambos casos se trata de inglés, puede que al seleccionar éste trate de usar uno u otro, en función del que tenga completado, y tú rellenas el otro, pero no es el que va a usar, y de ahí el lío.

 

Un saludo.