Hay que separar los conceptos de la etiqueta, por ejemplo de un botón, del comando de envía. En ocasiones, se usa la misma etiqueta como valor de retorno, lo cual se convierte en un error a la hora de traducir.
Por ejemplo, un botón "ok" que devuelve su etiqueta como comando = "ok"
Al traducirla, aparecerá "aceptar", pero en cambio como comando debería seguir enviando "ok", no "aceptar".
Hay que separar por tanto el valor del comando de la etiqueta mostrada en todos los procedimientos en que esté confundida.
Este caso es inevitable si se usa por ejemplo un widget de tipo tk_optionMenu, por lo cual su uso está desaconsejado (conviene eliminarlo de ficheros como los relacionados con copy-move: CopyMain.ui.tcl, CopyTrans.ui.tcl, ...) Actualmente se traduce tanto el texto del menú como las palabras clave con las que se compara posteriormente la variable CopyMoveInfo(*) asociada al valor del menu.@+
Otro ejemplo:
set tipos { Lines Points Surfaces Volumes
foreach tipo $tipos {
label $w.$tipo -text $tipo -command "Show $tipo"
}
}
En este caso el tipo se utiliza como texto y como parámetro a una función. Es recomendable crear dos listas y tratarlos por separado.
set tipos { Lines Points Surfaces Volumes
set tiposLabel { [_ "Lines"] [_ "Points"] [_ "Surfaces"] [_ "Volumes"] }
foreach tipo $tipos label $tiposLabel {
label $w.$tipo -text $label -command "Show $tipo"
}
}
Go to the first, previous, next, last section, table of contents.