From 70fde378f02be8771157923c5a4bb1bd49f46912 Mon Sep 17 00:00:00 2001 From: Shallowmallow Date: Sat, 31 Aug 2024 16:36:55 +0200 Subject: [PATCH 1/3] Fusion locales only when getting String --- haxe/ui/locale/LocaleManager.hx | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/haxe/ui/locale/LocaleManager.hx b/haxe/ui/locale/LocaleManager.hx index e56ebcbd4..29ac93b8c 100644 --- a/haxe/ui/locale/LocaleManager.hx +++ b/haxe/ui/locale/LocaleManager.hx @@ -256,33 +256,25 @@ class LocaleManager { } stringMap.set(k, v); } - - localeId = StringTools.replace(localeId, "-", "_"); - var parts = localeId.split("_"); - if (parts.length > 1) { - var parent = _localeMap.get(parts[0]); - if (parent != null) { - for (k in parent.keys()) { - if (stringMap.exists(k) == false) { - stringMap.set(k, parent.get(k)); - } - } - } - } } private function getStrings(localeId:String):Map { - var strings = _localeMap.get(localeId); - if (strings != null) { - return strings; - } - localeId = StringTools.replace(localeId, "-", "_"); var parts = localeId.split("_"); if (!_localeMap.exists(parts[0])) { return _localeMap.get("en"); } - return _localeMap.get(parts[0]); + + var parentLocale = _localeMap.get(parts[0]); + var locale = _localeMap.get(parts[0]); + + var fusionedLocale:Map = new Map(); + fusionedLocale = parentLocale.copy(); + for (k in locale.keys()) { + var v = map.get(k); + fusionedLocale.set(k, v); + } + return fusionedLocale; } public function hasString(id:String):Bool { From c9d661ab6fa0a686ff49cbb093f0a367fb2d9113 Mon Sep 17 00:00:00 2001 From: Shallowmallow Date: Sat, 31 Aug 2024 16:46:02 +0200 Subject: [PATCH 2/3] Fusion locales only when getting String use correct map name --- haxe/ui/locale/LocaleManager.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/haxe/ui/locale/LocaleManager.hx b/haxe/ui/locale/LocaleManager.hx index 29ac93b8c..d17c49c25 100644 --- a/haxe/ui/locale/LocaleManager.hx +++ b/haxe/ui/locale/LocaleManager.hx @@ -271,7 +271,7 @@ class LocaleManager { var fusionedLocale:Map = new Map(); fusionedLocale = parentLocale.copy(); for (k in locale.keys()) { - var v = map.get(k); + var v = locale.get(k); fusionedLocale.set(k, v); } return fusionedLocale; From 19d1be9ad0b1fe270ef8535e189a5c171566388e Mon Sep 17 00:00:00 2001 From: Shallowmallow Date: Mon, 2 Sep 2024 09:00:08 +0200 Subject: [PATCH 3/3] Renamed fusionedLocaled into mergedLocale --- haxe/ui/locale/LocaleManager.hx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/haxe/ui/locale/LocaleManager.hx b/haxe/ui/locale/LocaleManager.hx index d17c49c25..d8fe3522f 100644 --- a/haxe/ui/locale/LocaleManager.hx +++ b/haxe/ui/locale/LocaleManager.hx @@ -268,13 +268,13 @@ class LocaleManager { var parentLocale = _localeMap.get(parts[0]); var locale = _localeMap.get(parts[0]); - var fusionedLocale:Map = new Map(); - fusionedLocale = parentLocale.copy(); + var mergedLocale:Map = new Map(); + mergedLocale = parentLocale.copy(); for (k in locale.keys()) { var v = locale.get(k); - fusionedLocale.set(k, v); + mergedLocale.set(k, v); } - return fusionedLocale; + return mergedLocale; } public function hasString(id:String):Bool {