#pragma once #include #include #include #include #include "../commands/request.hpp" #include "line_id.hpp" namespace bot { namespace loc { class Localization { public: Localization(const std::string &folder_path); ~Localization() = default; std::optional get_localized_line( const std::string &locale_id, const LineId &line_id) const; std::optional get_formatted_line( const std::string &locale_id, const LineId &line_id, const std::vector &args) const; std::optional get_formatted_line( const command::Request &request, const LineId &line_id, const std::vector &args) const; private: std::unordered_map load_from_file( const std::string &file_path); std::unordered_map> localizations; }; } }