I18N::La...::Detect(3) Perl Programmers Reference Guide I18N::La...::Detect(3) NAME I18N::LangTags::Detect - detect the user's language preferences SYNOPSIS use I18N::LangTags::Detect; my @user_wants = I18N::LangTags::Detect::detect(); DESCRIPTION It is a common problem to want to detect what language(s) the user would prefer output in. FUNCTIONS This module defines one public function, I18N::LangTags::Detect::detect(). This function is not exported (nor is even exportable), and it takes no pa- rameters. In scalar context, the function returns the most preferred language tag (or undef if no preference was seen). In list context (which is usually what you want), the function returns a (possibly empty) list of language tags representing (best first) what lan- guages the user apparently would accept output in. You will probably want to pass the output of this through I18N::LangTags::implicate_su- pers_tightly(...) or I18N::LangTags::implicate_supers(...), like so: my @languages = I18N::LangTags::implicate_supers_tightly( I18N::LangTags::Detect::detect() ); ENVIRONMENT This module looks at several environment variables: REQUEST_METHOD, HTTP_ACCEPT_LANGUAGE, LANGUAGE, LC_ALL, LC_MESSAGES, and LANG. It will also use the Win32::Locale module, if it's installed and IG- NORE_WIN32_LOCALE is not set to a true value in the environment. SEE ALSO I18N::LangTags, Win32::Locale, Locale::Maketext. (This module's core code started out as a routine in Locale::Maketext; but I moved it here once I realized it was more generally useful.) COPYRIGHT Copyright (c) 1998-2004 Sean M. Burke. All rights reserved. This library is free software; you can redistribute it and/or modify it un- der the same terms as Perl itself. The programs and documentation in this dist are distributed in the hope that they will be useful, but without any warranty; without even the im- plied warranty of merchantability or fitness for a particular purpose. AUTHOR Sean M. Burke "sburke@cpan.org" perl v5.44.0 2026-05-14 I18N::La...::Detect(3)