posix workaround locales when LC_ALL empty