Section: Perl Programmers Reference Guide (3pm)
I18N::LangTags::Detect - detect the user's language preferences
my @user_wants = I18N::LangTags::Detect::detect();
It is a common problem to want to detect what language(s) the user would
prefer output in.
This module defines one public function,
. This function is not exported
(nor is even exportable), and it takes no parameters.
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
languages the user apparently would accept output in. You will
probably want to pass the output of this through
"I18N::LangTags::implicate_supers(...)", like so:
my @languages =
This module looks at several environment variables:
LANGUAGE, LC_ALL, LC_MESSAGES,
It will also use the Win32::Locale module, if it's installed
and IGNORE_WIN32_LOCALE is not set to a true value in the
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 (c) 1998-2004 Sean M. Burke. All rights reserved.
This library is free software; you can redistribute it and/or
modify it under 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 implied warranty of merchantability or fitness for a
Sean M. Burke "firstname.lastname@example.org"