I18N::LangTags::Detect - detect the user's language preferences


perl documentation  | view source Contained in the perl distribution.

Index


NAME

Top

I18N::LangTags::Detect - detect the user's language preferences

SYNOPSIS

Top

  use I18N::LangTags::Detect;
  my @user_wants = I18N::LangTags::Detect::detect();

DESCRIPTION

Top

It is a common problem to want to detect what language(s) the user would prefer output in.

FUNCTIONS

Top

This module defines one public function, I18N::LangTags::Detect::detect(). 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_tightly(...) or I18N::LangTags::implicate_supers(...), like so:

  my @languages =
    I18N::LangTags::implicate_supers_tightly(
      I18N::LangTags::Detect::detect()
    );




ENVIRONMENT

Top

This module looks for several environment variables, including REQUEST_METHOD, HTTP_ACCEPT_LANGUAGE, LANGUAGE, LC_ALL, LC_MESSAGES, and LANG.

It will also use the Win32::Locale module, if it's installed.

SEE ALSO

Top

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

Top

AUTHOR

Top

Sean M. Burke sburke@cpan.org


perl documentation  | view source Contained in the perl distribution.