1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| #include <fstream>
#include <string>
#include <map>
#include <boost/algorithm/string/trim.hpp>
struct trans_loader
{
trans_loader()
{
std::ifstream f("file.lang");
while(f)
{
std::string key;
std::getline(f, key, '=');
boost::trim(key);
std::string value;
std::getline(f, value);
boost::trim(value);
data[key] = value;
}
}
const char* operator[](const char* s)
{
return data[s].c_str();
}
private:
std::map<std::string, std::string> data;
};
inline const char* translate(const char* s)
{
static trans_loader l;
return l[s];
} |
Partager