56 [[nodiscard]]
eve::Result<void> replaceLocaleFromJson(
const std::string& lang,
const std::string& json);
67 [[nodiscard]]
eve::Result<void> replaceLocaleFromFile(
const std::string& lang,
const std::string&
path);
69 bool loadFromJson(
const std::string& lang,
const std::string& json);
71 bool loadFromFile(
const std::string& lang,
const std::string&
path);
85 [[nodiscard]]
eve::Result<int> replaceBundleFromJson(
const std::string& json);
87 void unload(
const std::string& lang);
100 bool setLanguage(
const std::string& lang);
110 std::string getLanguageAt(
int index)
const;
112 bool hasLanguage(
const std::string& lang)
const;
114 bool hasInLanguage(
const std::string& lang,
const std::string&
key)
const;
125 int getKeyCount(
const std::string& lang)
const;
128 bool has(
const std::string&
key)
const;
130 std::string get(
const std::string&
key)
const;
132 std::string getWithParams(
const std::string&
key,
const std::unordered_map<std::string, std::string>&
params)
const;
134 std::string getPlural(
const std::string&
key,
int n)
const;
136 std::string getPluralWithParams(
const std::string&
key,
int n,
137 const std::unordered_map<std::string, std::string>&
params)
const;
145 int update(
float dt);
149 std::unordered_map<std::string, std::string> strings;
150 std::unordered_map<std::string, std::unordered_map<std::string, std::string>>
153 int64_t modtime = -1;
158 Locale* findLocale(
const std::string& lang);
161 const Locale* findLocale(
const std::string& lang)
const;
163 std::string formatString(
const std::string& tpl,
const std::unordered_map<std::string, std::string>&
params)
const;
164 std::string pluralForm(
const std::string& lang,
int n)
const;
166 std::unordered_map<std::string, Locale> locales_;
167 std::string language_ =
"en";
168 std::string defaultLanguage_ =
"en";
169 bool autoReload_ =
true;