=pod

=head1 NAME

Locale::Language - module for dealing with language code sets

=head1 SYNOPSIS

   use Locale::Language;

   $name = code2language(CODE);
   $code = language2code(NAME);

   @codes   = all_language_codes();
   @names   = all_language_names();

=head1 DESCRIPTION

This module provides access to language code sets.

Please refer to the L<Locale::Codes::Types> document for a description
of the code sets available.

Most of the routines take an optional additional argument which
specifies the code set to use. The code set can be specified using the
name of a code set, or the perl constant specified in the above
document.  If not specified, the default code set will be used.

=head1 ROUTINES

All routines in this module call the appropriate method in the
L<Locale::Codes> module, using an object of type: language
Please refer to the documentation of the L<Locale::Codes> module
for details about each function.

The following functions are exported automatically:

=over 4

=item B<code2language(CODE [,CODESET] [,'retired'])>

See B<code2name> in L<Locale::Codes>

=item B<language2code(NAME [,CODESET] [,'retired'])>

See B<name2code> in L<Locale::Codes>

=item B<language_code2code(CODE ,CODESET ,CODESET2)>

See B<code2code> in L<Locale::Codes>

=item B<all_language_codes([CODESET] [,'retired'])>

See B<all_codes> in L<Locale::Codes>

=item B<all_language_names([CODESET] [,'retired'])>

See B<all_names> in L<Locale::Codes>

=back

The following functions are not exported and must be called fully
qualified with the package name:

=over 4

=item B<Locale::Language::show_errors(FLAG)>

By default, invalid input will produce empty results, but no errors.  By
passing in a non-zero value of FLAG, errors will be produced.

See B<show_errors> in L<Locale::Codes> but note that the default for
the non-OO modules are to NOT produce errors.

=item B<Locale::Language::rename_language(CODE ,NEW_NAME [,CODESET])>

See B<rename_code> in L<Locale::Codes>

=item B<Locale::Language::add_language(CODE ,NAME [,CODESET])>

See B<add_code> in L<Locale::Codes>

=item B<Locale::Language::delete_language(CODE [,CODESET])>

See B<delete_code> in L<Locale::Codes>

=item B<Locale::Language::add_language_alias(NAME ,NEW_NAME)>

See B<add_alias> in L<Locale::Codes>

=item B<Locale::Language::delete_language_alias(NAME)>

See B<delete_alias> in L<Locale::Codes>

=item B<Locale::Language::rename_language_code(CODE ,NEW_CODE [,CODESET])>

See B<replace_code> in L<Locale::Codes>

=item B<Locale::Language::add_language_code_alias(CODE ,NEW_CODE [,CODESET])>

See B<add_code_alias> in L<Locale::Codes>

=item B<Locale::Language::delete_language_code_alias(CODE [,CODESET])>

See B<delete_code_alias> in L<Locale::Codes>

=back

=head1 SEE ALSO

=over 4

=item L<Locale::Codes>

The Locale-Codes distribution.

=back

=head1 AUTHOR

See Locale::Codes for full author history.

Currently maintained by Sullivan Beck (sbeck@cpan.org).

=head1 COPYRIGHT

   Copyright (c) 2011-2018 Sullivan Beck

This module is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.

=cut
