Skip to content

Commit c16842a

Browse files
committed
fix: fix i18n
1 parent 09b39e6 commit c16842a

File tree

2 files changed

+6
-13
lines changed

2 files changed

+6
-13
lines changed

src/legacy/api/InternationalAPI.cpp

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -102,10 +102,7 @@ void FormatHelper(
102102
Local<Value> TrFormat(const Arguments& args, size_t offset, std::string key, const std::string& localeName = "") {
103103
try {
104104
size_t argsLength = args.size() - offset;
105-
auto i18n = getEngineOwnData()->i18n;
106-
if (i18n) {
107-
key = i18n->get(key, localeName);
108-
}
105+
key = getEngineOwnData()->i18n.get(key, localeName);
109106
// realFormatStr = FixCurlyBracket(realFormatStr);
110107
if (0ULL == argsLength) {
111108
// Avoid fmt if only one argument
@@ -172,11 +169,7 @@ Local<Value> I18nClass::get(const Arguments& args) {
172169
if (args.size() == 2) {
173170
localeName = args[1].asString().toString();
174171
}
175-
auto i18n = getEngineOwnData()->i18n;
176-
if (!i18n) {
177-
throw Exception("I18n data has not been loaded yet!");
178-
}
179-
return String::newString(i18n->get(key, localeName));
172+
return String::newString(getEngineOwnData()->i18n.get(key, localeName));
180173
}
181174
CATCH_AND_THROW;
182175
}
@@ -215,12 +208,12 @@ Local<Value> I18nClass::load(const Arguments& args) {
215208
if (str.getKind() != ValueKind::kString) {
216209
throw Exception("Value in SubLangData must be a string");
217210
}
218-
EngineOwnData().i18n->set(localeName, objKeys[j].toString(), str.asString().toString());
211+
getEngineOwnData()->i18n.set(localeName, objKeys[j].toString(), str.asString().toString());
219212
}
220213
}
221214
}
222215

223-
if (auto result = EngineOwnData().i18n->load(path); !result) {
216+
if (auto result = getEngineOwnData()->i18n.load(path); !result) {
224217
return Boolean::newBoolean(false);
225218
}
226219
return Boolean::newBoolean(true);

src/legacy/engine/EngineOwnData.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,8 @@ struct EngineOwnData {
7171
*/
7272

7373
// I18nAPI
74-
std::shared_ptr<ll::i18n::I18n> i18n = std::make_shared<ll::i18n::I18n>();
75-
std::string defaultLocaleName;
74+
ll::i18n::I18n i18n;
75+
std::string defaultLocaleName;
7676

7777
std::shared_ptr<lse::Plugin> plugin;
7878

0 commit comments

Comments
 (0)