Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

I18N::LangTags::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

Perl Programmers Reference Guide                     I18N::LangTags::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 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
       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
       IGNORE_WIN32_LOCALE is not set to a true value in the environment.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+-----------------------+
       |ATTRIBUTE TYPE |   ATTRIBUTE VALUE     |
       +---------------+-----------------------+
       |Availability   | runtime/perl-532      |
       +---------------+-----------------------+
       |Stability      | Pass-through volatile |
       +---------------+-----------------------+

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
       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 particular
       purpose.

AUTHOR
       Sean M. Burke "sburke@cpan.org"



NOTES
       Source code for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This software was built from source available at
       https://github.com/oracle/solaris-userland.  The original community
       source was downloaded from
       http://www.cpan.org/src/5.0/perl-5.32.0.tar.gz.

       Further information about this software can be found on the open source
       community website at https://www.perl.org/.



perl v5.32.0                      2020-06-14         I18N::LangTags::Detect(3)