9#include <unordered_map>
36 explicit Localization(std::filesystem::path directory = {});
45 [[nodiscard]]
static std::unordered_map<std::string, std::string>
parseCatalog(
46 std::string_view content);
54 std::unordered_map<std::string, std::string> strings);
62 std::unordered_map<std::string, std::string> strings);
77 [[nodiscard]]
bool loadLanguage(
const std::string& language);
84 [[nodiscard]] std::string
text(std::string_view key)
const;
93 [[nodiscard]]
static bool readFile(
const std::filesystem::path& path, std::string& out);
void setDefaultCatalog(std::string language, std::unordered_map< std::string, std::string > strings)
Définit la langue par défaut (source de repli) et l'active dessus.
Definition Localization.cpp:73
bool loadDefaultLanguage(const std::string &language)
Charge la langue par défaut depuis <directory>/<language>.lang et l'active.
Definition Localization.cpp:90
bool loadLanguage(const std::string &language)
Charge la langue active depuis <directory>/<language>.lang.
Definition Localization.cpp:100
static std::unordered_map< std::string, std::string > parseCatalog(std::string_view content)
Analyse un contenu clé = valeur en table de traductions.
Definition Localization.cpp:38
std::string text(std::string_view key) const
Résout le texte associé à key.
Definition Localization.cpp:114
void setActiveCatalog(std::string language, std::unordered_map< std::string, std::string > strings)
Définit la langue active à partir d'une table déjà analysée.
Definition Localization.cpp:83
Localization(std::filesystem::path directory={})
Construit un catalogue vide.
Definition Localization.cpp:31
const std::string & activeLanguage() const noexcept
Definition Localization.h:87
std::filesystem::path _directory
Definition Localization.h:95
std::string _activeLanguage
Definition Localization.h:97
std::unordered_map< std::string, std::string > _activeStrings
Definition Localization.h:99
std::unordered_map< std::string, std::string > _defaultStrings
Definition Localization.h:98
std::string _defaultLanguage
Definition Localization.h:96
static bool readFile(const std::filesystem::path &path, std::string &out)
Lit tout le contenu d'un fichier texte.
Definition Localization.cpp:126
Definition AudioEngine.cpp:15