En este PR están todos los cambios necesarios para tener PLQuiz internacionalizado. Creo que debería funcionar automáticamente en un equipo en el que el idioma configurado por defecto sea el inglés.
En el proceso de cambiar el código he visto algunas cosas que habría que cambiar en el futuro, las listo aquí para que queden documentadas (aunque es posible que también las lance como issues, pero eso más adelante):
Los archivos TraductorLatex.java, TraductorLatexSVG.java y TraductorLatexTikZ.java son prácticamente idénticos. Sería interesante aplicar alguna refactorización para combinarlos en uno solo. Están así porque en su día fue una forma rápida (aunque sucia) de añadir la nueva funcionalidad para generar las imágenes como SVG y embebidas en el LaTeX como código TikZ.
He descubierto que el parser de expresiones regulares falla cuando la expresión regular es muy trivial. Cosas como: a, a, a|b, a.b dan error. Aunque estas otras expresiones regulares se parsean correctamente: a.b, a|a.b, a|b*, a|b|c.
Sería interesante que ante una expresión regular errónea, se emitiera un mensaje de error más informativo indicando qué error hay y dónde aparece.
Se podría embeber el código dot de las figuras también en el documento LaTeX (algo similar a lo que se hace con TikZ) usando el paquete graphviz (https://ctan.org/pkg/graphviz). Aunque ahora que están las figuras en formato TikZ, la funcionalidad de generar las figuras en dot es ya algo redundante y se podría eliminar en el futuro.
Ahora que sabemos como generar SVG a partir de los mxgraph, sería conveniente usar este formato vectorial tanto en el html como en el MoodleXML. O mejor generar un SVG con el mismo aspecto que los TikZ, porque las figuras mxgraph no son del todo elegantes.
En este PR están todos los cambios necesarios para tener PLQuiz internacionalizado. Creo que debería funcionar automáticamente en un equipo en el que el idioma configurado por defecto sea el inglés.
En el proceso de cambiar el código he visto algunas cosas que habría que cambiar en el futuro, las listo aquí para que queden documentadas (aunque es posible que también las lance como issues, pero eso más adelante):
TraductorLatex.java
,TraductorLatexSVG.java
yTraductorLatexTikZ.java
son prácticamente idénticos. Sería interesante aplicar alguna refactorización para combinarlos en uno solo. Están así porque en su día fue una forma rápida (aunque sucia) de añadir la nueva funcionalidad para generar las imágenes como SVG y embebidas en el LaTeX como código TikZ.mxgraph
, sería conveniente usar este formato vectorial tanto en el html como en el MoodleXML. O mejor generar un SVG con el mismo aspecto que los TikZ, porque las figurasmxgraph
no son del todo elegantes.