diff --git a/locale/+linux.ha b/locale/+linux.ha index 951d13d..886492d 100644 --- a/locale/+linux.ha +++ b/locale/+linux.ha @@ -39,12 +39,16 @@ export fn get_time() locale = get_locale("LC_TIME"); export fn get_messages() locale = get_locale("LC_MESSAGES"); fn get_locale(var: str) locale = - match (get_locale_no_fallback(var)) { + match (get_locale_no_fallback("LC_ALL")) { case let local: locale => yield local; case => - yield match (get_locale_no_fallback("LANG")) { + yield match (get_locale_no_fallback(var)) { case let local: locale => yield local; - case => yield c; + case => + yield match (get_locale_no_fallback("LANG")) { + case let local: locale => yield local; + case => yield c; + }; }; };