Skip to content

Commit 8a501e3

Browse files
authored
Merge pull request #628 from Shallowmallow/LocaleFix
Fusion locales only when getting String
2 parents 79873fe + 19d1be9 commit 8a501e3

File tree

1 file changed

+11
-19
lines changed

1 file changed

+11
-19
lines changed

haxe/ui/locale/LocaleManager.hx

+11-19
Original file line numberDiff line numberDiff line change
@@ -256,33 +256,25 @@ class LocaleManager {
256256
}
257257
stringMap.set(k, v);
258258
}
259-
260-
localeId = StringTools.replace(localeId, "-", "_");
261-
var parts = localeId.split("_");
262-
if (parts.length > 1) {
263-
var parent = _localeMap.get(parts[0]);
264-
if (parent != null) {
265-
for (k in parent.keys()) {
266-
if (stringMap.exists(k) == false) {
267-
stringMap.set(k, parent.get(k));
268-
}
269-
}
270-
}
271-
}
272259
}
273260

274261
private function getStrings(localeId:String):Map<String, String> {
275-
var strings = _localeMap.get(localeId);
276-
if (strings != null) {
277-
return strings;
278-
}
279-
280262
localeId = StringTools.replace(localeId, "-", "_");
281263
var parts = localeId.split("_");
282264
if (!_localeMap.exists(parts[0])) {
283265
return _localeMap.get("en");
284266
}
285-
return _localeMap.get(parts[0]);
267+
268+
var parentLocale = _localeMap.get(parts[0]);
269+
var locale = _localeMap.get(parts[0]);
270+
271+
var mergedLocale:Map<String, String> = new Map();
272+
mergedLocale = parentLocale.copy();
273+
for (k in locale.keys()) {
274+
var v = locale.get(k);
275+
mergedLocale.set(k, v);
276+
}
277+
return mergedLocale;
286278
}
287279

288280
public function hasString(id:String):Bool {

0 commit comments

Comments
 (0)