|
Air-Trap 1.0.0
A multiplayer R-Type clone game engine built with C++23 and ECS architecture
|
Manages game translations for all UI elements. More...
#include <TranslationManager.hpp>
Public Member Functions | |
| TranslationManager ()=default | |
| bool | loadLanguage (Language language) |
| Load translations for a specific language. | |
| std::string | get (const std::string &key) const |
| Get translated string for a key. | |
| template<typename... Args> | |
| std::string | getf (const std::string &key, Args &&... args) const |
| Get translated string with format arguments. | |
| Language | getCurrentLanguage () const |
Private Member Functions | |
| std::string | getLanguageFilePath (Language lang) const |
| Get file path for a given language. | |
Private Attributes | |
| std::unordered_map< std::string, std::string > | _translations |
| Map of translation keys to translated strings. | |
| Language | _currentLanguage {Language::English} |
| Currently loaded language. | |
Manages game translations for all UI elements.
Definition at line 23 of file TranslationManager.hpp.
|
default |
| std::string rtp::client::TranslationManager::get | ( | const std::string & | key | ) | const |
Get translated string for a key.
| key | The translation key (e.g., "menu.play") |
Definition at line 59 of file TranslationManager.cpp.
References _translations, and rtp::log::warning().
Referenced by getf(), rtp::client::scenes::GamepadSettingsScene::onEnter(), rtp::client::scenes::SettingsScene::onEnter(), rtp::client::scenes::KeyBindingScene::onEnter(), rtp::client::scenes::MenuScene::onEnter(), rtp::client::scenes::PauseScene::onEnter(), rtp::client::scenes::ModMenuScene::showCategoryList(), and rtp::client::scenes::ModMenuScene::showEntityCodex().
|
inline |
Definition at line 54 of file TranslationManager.hpp.
References _currentLanguage.
|
inline |
Get translated string with format arguments.
| Args | Format argument types |
| key | The translation key |
| args | Format arguments |
Definition at line 49 of file TranslationManager.hpp.
References get().
|
private |
Get file path for a given language.
Definition at line 13 of file TranslationManager.cpp.
References rtp::client::English, rtp::client::French, rtp::client::German, rtp::client::Italian, and rtp::client::Spanish.
Referenced by loadLanguage().
| bool rtp::client::TranslationManager::loadLanguage | ( | Language | language | ) |
Load translations for a specific language.
| language | The language to load |
Definition at line 24 of file TranslationManager.cpp.
References _currentLanguage, _translations, rtp::log::error(), getLanguageFilePath(), and rtp::log::info().
Referenced by rtp::client::scenes::SettingsScene::onEnter(), rtp::client::scenes::SettingsScene::onExit(), and rtp::client::Application::setupSettingsCallbacks().
|
private |
Currently loaded language.
Definition at line 59 of file TranslationManager.hpp.
Referenced by getCurrentLanguage(), and loadLanguage().
|
private |
Map of translation keys to translated strings.
Definition at line 58 of file TranslationManager.hpp.
Referenced by get(), and loadLanguage().