Simple SFML GUI  0.2a
Lang.hpp
1 #ifndef LANG_HPP
2 #define LANG_HPP
3 
4 #include <SFML/System/String.hpp>
5 #include <fstream>
6 #include <sstream>
7 #include <map>
8 #include <set>
9 #include <iostream>
10 
11 #include "GUIManager.hpp"
12 #include "trim.hpp"
13 #include "L.hpp"
14 
15 class Lang {
16 public:
17  friend GUIManager;
18  static void init();
19  static bool loadFile(const sf::String& path);
20  static bool loadFileList(const sf::String& path);
21 
22  static sf::String translate(const sf::String& str);
23 
24  static bool set(const sf::String& lang);
25  static void next();
26  static void previous();
27 
28  static sf::String getSelected();
29  static sf::String getDefaultLang();
30  static sf::String getAlternativeLang();
31 
32  static void setTmpPrefix(const sf::String& value);
33  static sf::String getTmpPrefix();
34 
35  static void setDefLangUniq(bool fileLoad = false);
36  static void setAltLangUniq(bool fileLoad = false);
37  static void setTranslation(const sf::String& a, const sf::String& b);
38  static sf::String getList(const sf::String& separator = ";");
39  static void setActive(const std::vector<sf::String>& langs);
40 
41 private:
42  static bool inited;
43  static std::map<sf::String, sf::String> lmap;
44  static std::set<sf::String> lset;
45  static sf::String defLang;
46  static sf::String altLang;
47  static sf::String selected;
48  static sf::String tmpPrefix;
49  static bool defFileInited;
50  static bool altFileInited;
51 
52  Lang() {}
53 };
54 
55 #define l(S) Lang::translate(S)
56 
57 #endif // LANG_HPP
Definition: Lang.hpp:15
Definition: GUIManager.hpp:63