@@ -105,7 +105,7 @@ public OnPlayerConnect(playerid) {
105
105
#endif
106
106
}
107
107
108
- static stock Language: _InitLanguage (const string: langName[]) {
108
+ static Language: _InitLanguage (const string: langName[]) {
109
109
if (pool_size (s_LanguagePool) == MAX_LANGUAGES) {
110
110
#if (defined _logger_included)
111
111
Logger_Dbg (" langplus" , " too many languages" ,
@@ -144,6 +144,15 @@ static bool:LangPlus_IsValidLanguage(Language:id) {
144
144
return false ;
145
145
}
146
146
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
+
147
156
return pool_has (s_LanguagePool, _: id);
148
157
}
149
158
@@ -166,10 +175,6 @@ LangPlus_AddLanguageEntry(const Language:languageid, const string:key[], const s
166
175
return false ;
167
176
}
168
177
169
- if (! map_valid (s_LanguageMap[languageid])) {
170
- s_LanguageMap[languageid] = map_new ();
171
- }
172
-
173
178
if (map_has_str_key (s_LanguageMap[languageid], key)) {
174
179
#if (defined _logger_included)
175
180
Logger_Dbg (" langplus" , " language key already exists" ,
@@ -196,6 +201,8 @@ Language:LangPlus_LoadLanguage(const string:langName[]) {
196
201
return INVALID_LANGUAGE_ID;
197
202
}
198
203
204
+ s_LanguageMap[languageid] = map_new ();
205
+
199
206
new fileName[MAX_FILE_NAME],
200
207
File: fHandler,
201
208
line[MAX_LANGUAGE_KEY_LEN + 1 + MAX_LANGUAGE_ENTRY_LENGTH],
@@ -374,25 +381,6 @@ stock bool:LangPlus_GetLanguageString(Language:languageid, const string:key[], s
374
381
return false ;
375
382
}
376
383
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
-
396
384
if (! map_has_str_key (s_LanguageMap[languageid], key)) {
397
385
#if (defined _logger_included)
398
386
Logger_Dbg (" langplus" , " language key does not exist" ,
@@ -410,7 +398,9 @@ stock bool:LangPlus_GetLanguageString(Language:languageid, const string:key[], s
410
398
Logger_S (" key" , key));
411
399
#endif
412
400
413
- return false ;
401
+ strcpy (output, key, MAX_LANGUAGE_ENTRY_LENGTH);
402
+
403
+ return true ;
414
404
}
415
405
416
406
map_str_get_str (s_LanguageMap[languageid], key, output, len);
0 commit comments