Manual

- Overview
- Tutorials
- FAQs
- History / Changes
- License

Reference

- Language
- Functions
- Operators
- Special Variables
- Pragmas
- Utilities
- Internals
- Platform Specific

Modules

- A • B • C • D • E
- F • G • H • I • L
- M • N • O • P • S
- T • U • X

News / Blogs

- Perl Buzz
- Perl Iron Man
- Perlsphere
- Planet Perl
- TPF news
- Use Perl

See also

- CPAN
- Perl.org
- Perl.com
- Perl 5 Wiki
- Perl Jobs
- Perl Mongers
- Perl Monks

Contact

- Site designed and maintained by Jon Allen (JJ)
- http://perl.jonallen.info

- View the project page and FAQs

# Locale::Language

Perl 5 version 10.1 documentation
Go to top • Show page index • Download PDF

# Locale::Language

- SYNOPSIS
- DESCRIPTION
- CONVERSION ROUTINES
- QUERY ROUTINES
- EXAMPLES
- KNOWN BUGS AND LIMITATIONS
- SEE ALSO
- AUTHOR
- COPYRIGHT

# SYNOPSIS

        use Locale::Language;        $lang = code2language('en');        # $lang gets 'English'    $code = language2code('French');    # $code gets 'fr'        @codes   = all_language_codes();    @names   = all_language_names();

# DESCRIPTION

The `Locale::Language` module provides access to the ISO two-letter codes for identifying languages, as defined in ISO 639. You can either access the codes via the "conversion routines" (described below), or via the two functions which return lists of all language codes or all language names.

# CONVERSION ROUTINES

There are two conversion routines: `code2language()` and `language2code()` .

- code2language()

  This function takes a two letter language code and returns a string which contains the name of the language identified. If the code is not a valid language code, as defined by ISO 639, then `undef` will be returned.

          $lang = code2language($code);

- language2code()

  This function takes a language name and returns the corresponding two letter language code, if such exists. If the argument could not be identified as a language name, then `undef` will be returned.

          $code = language2code('French');

  The case of the language name is not important. See the section "KNOWN BUGS AND LIMITATIONS" below.

# QUERY ROUTINES

There are two function which can be used to obtain a list of all language codes, or all language names:

- `all_language_codes()`

  Returns a list of all two-letter language codes. The codes are guaranteed to be all lower-case, and not in any particular order.

- `all_language_names()`

  Returns a list of all language names for which there is a corresponding two-letter language code. The names are capitalised, and not returned in any particular order.

# EXAMPLES

The following example illustrates use of the `code2language()` function. The user is prompted for a language code, and then told the corresponding language name:

        $| = 1;    # turn off buffering        print "Enter language code: ";    chop($code = <STDIN>);    $lang = code2language($code);    if (defined $lang)    {        print "$code = $lang\n";    }    else    {        print "'$code' is not a valid language code!\n";    }

# KNOWN BUGS AND LIMITATIONS

- In the current implementation, all data is read in when the module is loaded, and then held in memory. A lazy implementation would be more memory friendly.

- Currently just supports the two letter language codes - there are also three-letter codes, and numbers. Would these be of any use to anyone?

# SEE ALSO

- Locale::Country

  ISO codes for identification of country (ISO 3166). Supports 2-letter, 3-letter, and numeric country codes.

- Locale::Script

  ISO codes for identification of written scripts (ISO 15924).

- Locale::Currency

  ISO three letter codes for identification of currencies and funds (ISO 4217).

- ISO 639:1988 (E/F)

  Code for the representation of names of languages.

- http://lcweb.loc.gov/standards/iso639-2/langhome.html

  Home page for ISO 639-2.

# AUTHOR

Neil Bowers <neil@bowers.com>

# COPYRIGHT

Copyright (C) 2002-2004, Neil Bowers.

Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).

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

Page index

- SYNOPSIS
- DESCRIPTION
- CONVERSION ROUTINES
- QUERY ROUTINES
- EXAMPLES
- KNOWN BUGS AND LIMITATIONS
- SEE ALSO
- AUTHOR
- COPYRIGHT

Recently read

Tools

- Preferences