Este repositorio contiene varias aplicaciones de ejemplo para practicar la internacionalización (i18n).
Actualmente incluye:
- Aplicación Flask: Juego tipo Wordle internacionalizado con soporte de idiomas (es, en, ca).
- Aplicación Java: Un juego de Trivial de escritorio multilingüe (español, inglés y catalán) construido con JavaFX y Maven.
Esta es una aplicación web inspirada en Wordle, desarrollada con
Flask y con soporte de idiomas mediante Flask-Babel.
El usuario puede jugar adivinando una palabra de 5 letras, con un máximo
de 6 intentos, y elegir entre inglés, español y catalán.
project/
├── app.py
├── requirements.txt
├── templates/
│ └── index.html
├── static/
│ └── styles.css
└── translations/
├── es/LC_MESSAGES/messages.po
├── en/LC_MESSAGES/messages.po
└── ca/LC_MESSAGES/messages.po
- Python 3.12+
- pip
- Flask\
- Flask-Babel\
cd projectpython3 -m venv venv
source venv/bin/activate # Linux / macOS
# Windows:
# venv\Scripts\activatepip install -r requirements.txtpython app.pyLuego abre en tu navegador:
http://localhost:5000
El idioma se elige automáticamente mediante el parámetro ?lang= en la
URL:
-
Español:
http://localhost:5000?lang=es -
Inglés:
http://localhost:5000?lang=en -
Catalán:
http://localhost:5000?lang=ca
Flask almacena el idioma en la sesión del usuario.
- El usuario envía una palabra de 5 letras.
- Cada letra se marca como:
- correct → posición y letra correcta\
- present → letra correcta en posición incorrecta\
- absent → la letra no está en la palabra\
- El jugador tiene 6 intentos.
- El juego termina al acertar o agotar intentos.
- Se puede reiniciar en
/reset.
- Las traducciones se ubican en
translations/.\ - Puedes añadir más idiomas generando nuevos
.po/.mocon Babel.\ - La palabra objetivo está definida en el diccionario
TARGET_WORDSdentro deapp.py.
Esta aplicación de escritorio es un juego de Trivial con una interfaz gráfica desarrollada en JavaFX. Soporta varios idiomas (español, inglés y catalán) que se pueden cambiar dinámicamente desde la propia aplicación. La internacionalización se gestiona mediante ficheros ResourceBundle.
java/
├── pom.xml
└── src/
└── main/
├── java/
│ └── com/example/trivial/
│ ├── MainApp.java
│ └── TrivialController.java
└── resources/
└── com/example/trivial/
├── Trivial.fxml
├── styles.css
└── bundles/
├── messages_es.properties
├── messages_en.properties
└── messages_ca.properties
- JDK 17 o superior
- Maven 3.6+
-
Dirígete al directorio de la aplicación:
cd Practica-Projectes-Internacionalitzats/java -
Maven gestionará la descarga de las dependencias de JavaFX automáticamente. Simplemente ejecuta el siguiente comando para compilar y lanzar la aplicación:
mvn clean javafx:run
-
La aplicación se compilará y se lanzará en una nueva ventana. Puedes cambiar el idioma usando el selector en la esquina superior derecha.
- Todo el texto visible (preguntas, respuestas, botones...) se carga desde los ficheros
.propertiesubicados ensrc/main/resources/com/example/trivial/bundles/. - Puedes añadir nuevos idiomas creando un nuevo fichero
messages_xx.properties(dondexxes el código del idioma) y añadiendo elLocalecorrespondiente en elTrivialController.java.````