Hora del código #15
Ayer continué el desarrollo de ese lanzador para Doom, ahora se me ocurrió que se pudiera cambiar de idioma la interfaz. Pero para hacerlo debía destruir los frames y volverlos a recrear, era más fácil que intentar cambiar el texto a todos los widgets, tuve que colocar todo el código que crea el GUI en unas clases; la principal, la del frame izquierdo y la del frame derecho, éstas dos últimas son instanciadas en la primera. Así que me tocó doblarme y caer orientado a objetos, jajaja. El código actualizado está en el repositorio.
Los idiomas está en un archivo json, para generar los botones de esto usé un ciclo (normal) y al momento de configurar el comando del botón intenté usar lambda para llamar el método al cuál pasar el idioma elegido, pero sólo pasaba el último valor del ciclo. Así que busqué y yo no era el único, recomendaban usar partial que es parte de functools, también de la librería estándar.
Así se ve ahora, no ha cambiado mucho.