#pragma once #include #include #include #include class Transliteration { public: enum class Mode { Enabled, Disabled }; ~Transliteration(); static Transliteration & Instance(); void Init(std::string const & icuDataDir); void SetMode(Mode mode); bool Transliterate(std::string const & str, int8_t langCode, std::string & out) const; private: Transliteration(); std::atomic m_mode; struct TransliteratorInfo; std::map> m_transliterators; };