'\" te .\" Automatically generated by Pod::Man 2.23 (Pod::Simple 3.14) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Locale::Language 3" .TH Locale::Language 3 "2012-11-03" "perl v5.12.5" "Perl Programmers Reference Guide" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Locale::Language \- ISO two letter codes for language identification (ISO 639) .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use Locale::Language; \& \& $lang = code2language(\*(Aqen\*(Aq); # $lang gets \*(AqEnglish\*(Aq \& $code = language2code(\*(AqFrench\*(Aq); # $code gets \*(Aqfr\*(Aq \& \& @codes = all_language_codes(); \& @names = all_language_names(); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \f(CW\*(C`Locale::Language\*(C'\fR module provides access to the \s-1ISO\s0 two-letter codes for identifying languages, as defined in \s-1ISO\s0 639. You can either access the codes via the \*(L"conversion routines\*(R" (described below), or via the two functions which return lists of all language codes or all language names. .SH "CONVERSION ROUTINES" .IX Header "CONVERSION ROUTINES" There are two conversion routines: \f(CW\*(C`code2language()\*(C'\fR and \f(CW\*(C`language2code()\*(C'\fR. .IP "\fIcode2language()\fR" 4 .IX Item "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 \s-1ISO\s0 639, then \f(CW\*(C`undef\*(C'\fR will be returned. .Sp .Vb 1 \& $lang = code2language($code); .Ve .IP "\fIlanguage2code()\fR" 4 .IX Item "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 \f(CW\*(C`undef\*(C'\fR will be returned. .Sp .Vb 1 \& $code = language2code(\*(AqFrench\*(Aq); .Ve .Sp The case of the language name is not important. See the section \*(L"\s-1KNOWN\s0 \s-1BUGS\s0 \s-1AND\s0 \s-1LIMITATIONS\s0\*(R" below. .SH "QUERY ROUTINES" .IX Header "QUERY ROUTINES" There are two function which can be used to obtain a list of all language codes, or all language names: .ie n .IP """all_language_codes()""" 4 .el .IP "\f(CWall_language_codes()\fR" 4 .IX Item "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. .ie n .IP """all_language_names()""" 4 .el .IP "\f(CWall_language_names()\fR" 4 .IX Item "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. .SH "EXAMPLES" .IX Header "EXAMPLES" The following example illustrates use of the \f(CW\*(C`code2language()\*(C'\fR function. The user is prompted for a language code, and then told the corresponding language name: .PP .Vb 1 \& $| = 1; # turn off buffering \& \& print "Enter language code: "; \& chop($code = ); \& $lang = code2language($code); \& if (defined $lang) \& { \& print "$code = $lang\en"; \& } \& else \& { \& print "\*(Aq$code\*(Aq is not a valid language code!\en"; \& } .Ve .SH "KNOWN BUGS AND LIMITATIONS" .IX Header "KNOWN BUGS AND LIMITATIONS" .IP "\(bu" 4 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. .IP "\(bu" 4 Currently just supports the two letter language codes \- there are also three-letter codes, and numbers. Would these be of any use to anyone? .\" Oracle has added the ARC stability level to this manual page .SH ATTRIBUTES See .BR attributes (5) for descriptions of the following attributes: .sp .TS box; cbp-1 | cbp-1 l | l . ATTRIBUTE TYPE ATTRIBUTE VALUE = Availability runtime/perl-512 = Stability Uncommitted .TE .PP .SH "SEE ALSO" .IX Header "SEE ALSO" .IP "Locale::Country" 4 .IX Item "Locale::Country" \&\s-1ISO\s0 codes for identification of country (\s-1ISO\s0 3166). Supports 2\-letter, 3\-letter, and numeric country codes. .IP "Locale::Script" 4 .IX Item "Locale::Script" \&\s-1ISO\s0 codes for identification of written scripts (\s-1ISO\s0 15924). .IP "Locale::Currency" 4 .IX Item "Locale::Currency" \&\s-1ISO\s0 three letter codes for identification of currencies and funds (\s-1ISO\s0 4217). .IP "\s-1ISO\s0 639:1988 (E/F)" 4 .IX Item "ISO 639:1988 (E/F)" Code for the representation of names of languages. .IP "http://lcweb.loc.gov/standards/iso639\-2/langhome.html" 4 .IX Item "http://lcweb.loc.gov/standards/iso639-2/langhome.html" Home page for \s-1ISO\s0 639\-2. .SH "AUTHOR" .IX Header "AUTHOR" Neil Bowers .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (C) 2002\-2004, Neil Bowers. .PP Copyright (c) 1997\-2001 Canon Research Centre Europe (\s-1CRE\s0). .PP This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. .SH NOTES .\" Oracle has added source availability information to this manual page This software was built from source available at https://java.net/projects/solaris-userland. The original community source was downloaded from http://www.cpan.org/src/5.0/perl-5.12.5.tar.bz2 Further information about this software can be found on the open source community website at http://www.perl.org/.