ServiceMenu: afegida opció per a canviar el idioma

This commit is contained in:
2025-06-12 13:50:05 +02:00
parent e6f4e27fbd
commit f9b576ea25
14 changed files with 307 additions and 109 deletions

View File

@@ -1,6 +1,7 @@
#pragma once
#include <string>
#include <vector>
namespace lang
{
@@ -12,12 +13,38 @@ namespace lang
ENGLISH = 2
};
// Estructura que representa un idioma
struct Language
{
Code code; // Código que identifica al idioma
std::string name; // Nombre que identifica el idioma
std::string file_name; // Nombre del fichero con los textos
Language(Code c, const std::string &n, const std::string &fn)
: code(c), name(n), file_name(fn) {}
};
// Carga los textos desde el fichero JSON especificado
bool loadFromFile(const std::string &file_path);
// Obtiene un texto a partir de una clave
// Obtiene el texto por clave
std::string getText(const std::string &key);
// Obtiene el código del siguiente idioma (circular)
Code getNextLangCode(Code lang);
Code getNextLangCode(Code current_lang);
// Obtiene el idioma correspondiente al código proporcionado
Language getLanguage(Code code);
// Devuelve el código de un idioma a partir de un nombre
Code getCodeFromName(const std::string& name);
// Actualiza los nombres de los idiomas
void updateLanguageNames();
// Obtiene el nombre del fichero de textos asociado a un código de idioma
std::string getLanguageFileName(Code code);
// Establece el idioma actual
void setLanguage(Code lang);
}