Skip to content

Commit e084525

Browse files
authored
Add fallback to display keys for untranslated strings
1 parent 583925f commit e084525

File tree

1 file changed

+15
-25
lines changed

1 file changed

+15
-25
lines changed

LangPlus.inc

+15-25
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ public OnPlayerConnect(playerid) {
105105
#endif
106106
}
107107

108-
static stock Language:_InitLanguage(const string:langName[]) {
108+
static Language:_InitLanguage(const string:langName[]) {
109109
if (pool_size(s_LanguagePool) == MAX_LANGUAGES) {
110110
#if(defined _logger_included)
111111
Logger_Dbg("langplus", "too many languages",
@@ -144,6 +144,15 @@ static bool:LangPlus_IsValidLanguage(Language:id) {
144144
return false;
145145
}
146146

147+
if (!map_valid(s_LanguageMap[id])) {
148+
#if(defined _logger_included)
149+
Logger_Dbg("langplus", "language hasn't been initialized ",
150+
Logger_I("languageid", _:id));
151+
#endif
152+
153+
return false;
154+
}
155+
147156
return pool_has(s_LanguagePool, _:id);
148157
}
149158

@@ -166,10 +175,6 @@ LangPlus_AddLanguageEntry(const Language:languageid, const string:key[], const s
166175
return false;
167176
}
168177

169-
if (!map_valid(s_LanguageMap[languageid])) {
170-
s_LanguageMap[languageid] = map_new();
171-
}
172-
173178
if (map_has_str_key(s_LanguageMap[languageid], key)) {
174179
#if(defined _logger_included)
175180
Logger_Dbg("langplus", "language key already exists",
@@ -196,6 +201,8 @@ Language:LangPlus_LoadLanguage(const string:langName[]) {
196201
return INVALID_LANGUAGE_ID;
197202
}
198203

204+
s_LanguageMap[languageid] = map_new();
205+
199206
new fileName[MAX_FILE_NAME],
200207
File:fHandler,
201208
line[MAX_LANGUAGE_KEY_LEN + 1 + MAX_LANGUAGE_ENTRY_LENGTH],
@@ -374,25 +381,6 @@ stock bool:LangPlus_GetLanguageString(Language:languageid, const string:key[], s
374381
return false;
375382
}
376383

377-
if (!map_valid(s_LanguageMap[languageid])) {
378-
#if(defined _logger_included)
379-
Logger_Dbg("langplus", "language map is invalid",
380-
Logger_I("languageid", _:languageid));
381-
#endif
382-
383-
if (languageid != Language:0) {
384-
return LangPlus_GetLanguageString(Language:0, key, output, len);
385-
}
386-
387-
#if(defined _logger_included)
388-
Logger_Log("language key does not exist in the default language",
389-
Logger_I("languageid", _:languageid),
390-
Logger_S("key", key));
391-
#endif
392-
393-
return false;
394-
}
395-
396384
if (!map_has_str_key(s_LanguageMap[languageid], key)) {
397385
#if(defined _logger_included)
398386
Logger_Dbg("langplus", "language key does not exist",
@@ -410,7 +398,9 @@ stock bool:LangPlus_GetLanguageString(Language:languageid, const string:key[], s
410398
Logger_S("key", key));
411399
#endif
412400

413-
return false;
401+
strcpy(output, key, MAX_LANGUAGE_ENTRY_LENGTH);
402+
403+
return true;
414404
}
415405

416406
map_str_get_str(s_LanguageMap[languageid], key, output, len);

0 commit comments

Comments
 (0)