... it doesn't work, as it (roughly) assumes the system POSIX::setlocale(LC_MESSAGES,"") will return the locale to use, which is not the case for Windows
The documentation for Locale::gettext indicates that it, too, relies on POSIX::setlocale(LC_MESSAGES,""). (See the SYNOPSIS.)