#pragma once #include class Language { private: static Language *singleton; std::unordered_map localizationTable; public: Language(); static Language *getInstance(); template inline std::wstring getElement(const std::wstring& elementId, Args...) { if (this) { if (localizationTable.count(elementId)) return localizationTable[elementId]; else return elementId; } } std::wstring getElementName(const std::wstring& elementId); std::wstring getElementDescription(const std::wstring& elementId); };