MetaImGUI 1.0.0
ImGui Application Template for C++20
Loading...
Searching...
No Matches
MetaImGUI::Localization Class Reference

Simple localization/internationalization system. More...

#include <Localization.h>

Public Member Functions

 Localization (const Localization &)=delete
 
Localizationoperator= (const Localization &)=delete
 
 Localization (Localization &&)=delete
 
Localizationoperator= (Localization &&)=delete
 
void SetLanguage (const std::string &languageCode)
 Set current language.
 
std::string GetCurrentLanguage () const
 Get current language code.
 
std::vector< std::string > GetAvailableLanguages () const
 Get list of available languages.
 
std::string Tr (const std::string &key) const
 Get translated string.
 
void AddTranslation (const std::string &languageCode, const std::string &key, const std::string &value)
 Add translation for a language.
 
bool LoadTranslations (const std::string &filepath)
 Load translations from JSON file.
 

Static Public Member Functions

static LocalizationInstance ()
 Get singleton instance.
 

Detailed Description

Simple localization/internationalization system.

Provides translation services for UI strings using key-value pairs. Supports multiple languages with fallback to English.

IMPORTANT: All translations MUST come from resources/translations/translations.json DO NOT add built-in translations here. This is the single source of truth.

Definition at line 36 of file Localization.h.

Constructor & Destructor Documentation

◆ Localization() [1/2]

MetaImGUI::Localization::Localization ( const Localization )
delete

◆ Localization() [2/2]

MetaImGUI::Localization::Localization ( Localization &&  )
delete

Member Function Documentation

◆ AddTranslation()

void MetaImGUI::Localization::AddTranslation ( const std::string &  languageCode,
const std::string &  key,
const std::string &  value 
)

Add translation for a language.

Parameters
languageCodeLanguage code
keyTranslation key
valueTranslated string

Definition at line 104 of file Localization.cpp.

Referenced by LoadTranslations().

◆ GetAvailableLanguages()

std::vector< std::string > MetaImGUI::Localization::GetAvailableLanguages ( ) const

Get list of available languages.

Definition at line 70 of file Localization.cpp.

◆ GetCurrentLanguage()

std::string MetaImGUI::Localization::GetCurrentLanguage ( ) const

Get current language code.

Definition at line 66 of file Localization.cpp.

◆ Instance()

◆ LoadTranslations()

bool MetaImGUI::Localization::LoadTranslations ( const std::string &  filepath)

Load translations from JSON file.

Parameters
filepathPath to JSON translation file
Returns
true if successful

Definition at line 108 of file Localization.cpp.

References AddTranslation(), LOG_ERROR, and LOG_INFO.

Referenced by MetaImGUI::Application::Initialize().

◆ operator=() [1/2]

Localization & MetaImGUI::Localization::operator= ( const Localization )
delete

◆ operator=() [2/2]

Localization & MetaImGUI::Localization::operator= ( Localization &&  )
delete

◆ SetLanguage()

void MetaImGUI::Localization::SetLanguage ( const std::string &  languageCode)

Set current language.

Parameters
languageCodeISO 639-1 language code (e.g., "en", "es", "fr")

Definition at line 57 of file Localization.cpp.

References LOG_ERROR, and LOG_INFO.

Referenced by MetaImGUI::Application::Initialize().

◆ Tr()

std::string MetaImGUI::Localization::Tr ( const std::string &  key) const

Get translated string.

Parameters
keyTranslation key
Returns
Translated string (or key if not found)

Definition at line 79 of file Localization.cpp.


The documentation for this class was generated from the following files: