arreglos en globalInputs i Lang
This commit is contained in:
@@ -66,48 +66,21 @@ void toggleShaders() {
|
|||||||
Notifier::get()->show({Lang::getText("[NOTIFICATIONS] 13") + " " + boolToOnOff(Options::video.shaders)});
|
Notifier::get()->show({Lang::getText("[NOTIFICATIONS] 13") + " " + boolToOnOff(Options::video.shaders)});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Obtiene una fichero a partir de un lang::Code
|
// Cambia al siguiente idioma
|
||||||
auto getLangFile(Lang::Code code) -> std::string {
|
void setNextLang() {
|
||||||
switch (code) {
|
|
||||||
case Lang::Code::VALENCIAN:
|
|
||||||
return Asset::get()->get("ba_BA.json");
|
|
||||||
break;
|
|
||||||
case Lang::Code::SPANISH:
|
|
||||||
return Asset::get()->get("es_ES.json");
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return Asset::get()->get("en_UK.json");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Obtiene una cadena a partir de un lang::Code
|
|
||||||
auto getLangName(Lang::Code code) -> std::string {
|
|
||||||
switch (code) {
|
|
||||||
case Lang::Code::VALENCIAN:
|
|
||||||
return " \"ba_BA\"";
|
|
||||||
break;
|
|
||||||
case Lang::Code::SPANISH:
|
|
||||||
return " \"es_ES\"";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return " \"en_UK\"";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Cambia el idioma
|
|
||||||
void changeLang() {
|
|
||||||
const std::string CODE = "LANG";
|
const std::string CODE = "LANG";
|
||||||
|
const auto NEXT_LANG_CODE = Lang::getNextLangCode(Options::settings.language);
|
||||||
|
const auto NEXT_LANG_NAME = Lang::getLangName(NEXT_LANG_CODE);
|
||||||
if (Notifier::get()->checkCode(CODE)) {
|
if (Notifier::get()->checkCode(CODE)) {
|
||||||
Options::settings.language = Lang::getNextLangCode(Options::settings.language);
|
// Si la notificación de cambiar idioma está activa, cambia de de idioma
|
||||||
Lang::loadFromFile(getLangFile(Options::settings.language));
|
Options::settings.language = NEXT_LANG_CODE;
|
||||||
|
Lang::loadFromFile(Lang::getLangFile(NEXT_LANG_CODE));
|
||||||
Section::name = Section::Name::RESET;
|
Section::name = Section::Name::RESET;
|
||||||
Section::options = Section::Options::RELOAD;
|
Section::options = Section::Options::RELOAD;
|
||||||
Notifier::get()->show({Lang::getText("[NOTIFICATIONS] 05") + getLangName(Options::settings.language)});
|
Notifier::get()->show({Lang::getText("[NOTIFICATIONS] 05") + NEXT_LANG_NAME});
|
||||||
} else {
|
} else {
|
||||||
const auto NEXT = Lang::getNextLangCode(Options::settings.language);
|
// Si la notificación de cambiar idioma no está activa, muestra la notificación
|
||||||
Notifier::get()->show({Lang::getText("[NOTIFICATIONS] 04") + getLangName(NEXT), std::string()}, -1, CODE);
|
Notifier::get()->show({Lang::getText("[NOTIFICATIONS] 04") + NEXT_LANG_NAME, std::string()}, -1, CODE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -193,7 +166,7 @@ auto checkSystemInputs() -> bool {
|
|||||||
{Action::RESET, reset},
|
{Action::RESET, reset},
|
||||||
{Action::TOGGLE_AUDIO, toggleAudio},
|
{Action::TOGGLE_AUDIO, toggleAudio},
|
||||||
{Action::TOGGLE_AUTO_FIRE, toggleFireMode},
|
{Action::TOGGLE_AUTO_FIRE, toggleFireMode},
|
||||||
{Action::CHANGE_LANG, changeLang},
|
{Action::CHANGE_LANG, setNextLang},
|
||||||
{Action::TOGGLE_VIDEO_SHADERS, toggleShaders},
|
{Action::TOGGLE_VIDEO_SHADERS, toggleShaders},
|
||||||
{Action::TOGGLE_VIDEO_INTEGER_SCALE, toggleIntegerScale},
|
{Action::TOGGLE_VIDEO_INTEGER_SCALE, toggleIntegerScale},
|
||||||
{Action::TOGGLE_VIDEO_VSYNC, toggleVSync},
|
{Action::TOGGLE_VIDEO_VSYNC, toggleVSync},
|
||||||
|
|||||||
@@ -154,10 +154,40 @@ auto getLanguageFileName(Lang::Code code) -> std::string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Establece el idioma
|
// Establece el idioma
|
||||||
void setLanguage(Code lang) {
|
void setLanguage(Code code) {
|
||||||
Options::settings.language = lang;
|
Options::settings.language = code;
|
||||||
loadFromFile(Asset::get()->get(getLanguage(lang).file_name));
|
loadFromFile(Asset::get()->get(getLanguage(code).file_name));
|
||||||
updateLanguageNames();
|
updateLanguageNames();
|
||||||
updateDifficultyNames();
|
updateDifficultyNames();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Obtiene una fichero a partir de un Code
|
||||||
|
auto getLangFile(Code code) -> std::string {
|
||||||
|
switch (code) {
|
||||||
|
case Code::VALENCIAN:
|
||||||
|
return Asset::get()->get("ba_BA.json");
|
||||||
|
break;
|
||||||
|
case Code::SPANISH:
|
||||||
|
return Asset::get()->get("es_ES.json");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return Asset::get()->get("en_UK.json");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Obtiene una cadena a partir de un Code
|
||||||
|
auto getLangName(Code code) -> std::string {
|
||||||
|
switch (code) {
|
||||||
|
case Code::VALENCIAN:
|
||||||
|
return " \"ba_BA\"";
|
||||||
|
break;
|
||||||
|
case Code::SPANISH:
|
||||||
|
return " \"es_ES\"";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return " \"en_UK\"";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
} // namespace Lang
|
} // namespace Lang
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ enum class Code : int {
|
|||||||
ENGLISH = 2
|
ENGLISH = 2
|
||||||
};
|
};
|
||||||
|
|
||||||
// Estructura que representa un idioma
|
// --- Estructura que representa un idioma ---
|
||||||
struct Language {
|
struct Language {
|
||||||
Code code; // Código que identifica al idioma
|
Code code; // Código que identifica al idioma
|
||||||
std::string name; // Nombre que identifica el idioma
|
std::string name; // Nombre que identifica el idioma
|
||||||
@@ -21,30 +21,16 @@ struct Language {
|
|||||||
: code(c), name(std::move(n)), file_name(std::move(fn)) {}
|
: code(c), name(std::move(n)), file_name(std::move(fn)) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Carga los textos desde el fichero JSON especificado
|
// --- Métodos ---
|
||||||
auto loadFromFile(const std::string &file_path) -> bool;
|
auto loadFromFile(const std::string &file_path) -> bool; // Carga los textos desde el fichero JSON especificado
|
||||||
|
auto getText(const std::string &key) -> std::string; // Obtiene el texto por clave
|
||||||
// Obtiene el texto por clave
|
auto getNextLangCode(Code current_lang) -> Code; // Obtiene el código del siguiente idioma (circular)
|
||||||
auto getText(const std::string &key) -> std::string;
|
auto getLanguage(Code code) -> Language; // Obtiene el idioma correspondiente al código proporcionado
|
||||||
|
auto getCodeFromName(const std::string &name) -> Code; // Devuelve el código de un idioma a partir de un nombre
|
||||||
// Obtiene el código del siguiente idioma (circular)
|
auto getNameFromCode(Code code) -> std::string; // Devuelve el nombre de un idioma a partir de un código
|
||||||
auto getNextLangCode(Code current_lang) -> Code;
|
void updateLanguageNames(); // Actualiza los nombres de los idiomas
|
||||||
|
auto getLanguageFileName(Code code) -> std::string; // Obtiene el nombre del fichero de textos asociado a un código de idioma
|
||||||
// Obtiene el idioma correspondiente al código proporcionado
|
void setLanguage(Code code); // Establece el idioma actual
|
||||||
auto getLanguage(Code code) -> Language;
|
auto getLangFile(Code code) -> std::string; // Obtiene una fichero a partir de un Code
|
||||||
|
auto getLangName(Code code) -> std::string; // Obtiene una cadena a partir de un Code
|
||||||
// Devuelve el código de un idioma a partir de un nombre
|
} // namespace Lang
|
||||||
auto getCodeFromName(const std::string &name) -> Code;
|
|
||||||
|
|
||||||
// Devuelve el nombre de un idioma a partir de un código
|
|
||||||
auto getNameFromCode(Code code) -> std::string;
|
|
||||||
|
|
||||||
// Actualiza los nombres de los idiomas
|
|
||||||
void updateLanguageNames();
|
|
||||||
|
|
||||||
// Obtiene el nombre del fichero de textos asociado a un código de idioma
|
|
||||||
auto getLanguageFileName(Code code) -> std::string;
|
|
||||||
|
|
||||||
// Establece el idioma actual
|
|
||||||
void setLanguage(Code lang);
|
|
||||||
} // namespace Lang
|
|
||||||
Reference in New Issue
Block a user