Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perl-5.8.0 / lib / 5.8.0 / Locale / Language.pm
CommitLineData
86530b38
AT
1#
2# Locale::Language - ISO two letter codes for language identification (ISO 639)
3#
4# $Id: Language.pm,v 2.2 2002/07/10 16:33:27 neilb Exp $
5#
6
7package Locale::Language;
8use strict;
9require 5.002;
10
11require Exporter;
12
13#-----------------------------------------------------------------------
14# Public Global Variables
15#-----------------------------------------------------------------------
16use vars qw($VERSION @ISA @EXPORT);
17$VERSION = sprintf("%d.%02d", q$Revision: 2.2 $ =~ /(\d+)\.(\d+)/);
18@ISA = qw(Exporter);
19@EXPORT = qw(&code2language &language2code
20 &all_language_codes &all_language_names );
21
22#-----------------------------------------------------------------------
23# Private Global Variables
24#-----------------------------------------------------------------------
25my %CODES = ();
26my %LANGUAGES = ();
27
28
29#=======================================================================
30#
31# code2language ( CODE )
32#
33#=======================================================================
34sub code2language
35{
36 my $code = shift;
37
38
39 return undef unless defined $code;
40 $code = lc($code);
41 if (exists $CODES{$code})
42 {
43 return $CODES{$code};
44 }
45 else
46 {
47 #---------------------------------------------------------------
48 # no such language code!
49 #---------------------------------------------------------------
50 return undef;
51 }
52}
53
54
55#=======================================================================
56#
57# language2code ( LANGUAGE )
58#
59#=======================================================================
60sub language2code
61{
62 my $lang = shift;
63
64
65 return undef unless defined $lang;
66 $lang = lc($lang);
67 if (exists $LANGUAGES{$lang})
68 {
69 return $LANGUAGES{$lang};
70 }
71 else
72 {
73 #---------------------------------------------------------------
74 # no such language!
75 #---------------------------------------------------------------
76 return undef;
77 }
78}
79
80
81#=======================================================================
82#
83# all_language_codes()
84#
85#=======================================================================
86sub all_language_codes
87{
88 return keys %CODES;
89}
90
91
92#=======================================================================
93#
94# all_language_names()
95#
96#=======================================================================
97sub all_language_names
98{
99 return values %CODES;
100}
101
102
103#=======================================================================
104# initialisation code - stuff the DATA into the CODES hash
105#=======================================================================
106{
107 my $code;
108 my $language;
109
110
111 while (<DATA>)
112 {
113 next unless /\S/;
114 chop;
115 ($code, $language) = split(/:/, $_, 2);
116 $CODES{$code} = $language;
117 $LANGUAGES{"\L$language"} = $code;
118 }
119
120 close(DATA);
121}
122
1231;
124
125__DATA__
126aa:Afar
127ab:Abkhazian
128ae:Avestan
129af:Afrikaans
130am:Amharic
131ar:Arabic
132as:Assamese
133ay:Aymara
134az:Azerbaijani
135
136ba:Bashkir
137be:Belarusian
138bg:Bulgarian
139bh:Bihari
140bi:Bislama
141bn:Bengali
142bo:Tibetan
143br:Breton
144bs:Bosnian
145
146ca:Catalan
147ce:Chechen
148ch:Chamorro
149co:Corsican
150cs:Czech
151cu:Church Slavic
152cv:Chuvash
153cy:Welsh
154
155da:Danish
156de:German
157dz:Dzongkha
158
159el:Greek
160en:English
161eo:Esperanto
162es:Spanish
163et:Estonian
164eu:Basque
165
166fa:Persian
167fi:Finnish
168fj:Fijian
169fo:Faeroese
170fr:French
171fy:Frisian
172
173ga:Irish
174gd:Gaelic (Scots)
175gl:Gallegan
176gn:Guarani
177gu:Gujarati
178gv:Manx
179
180ha:Hausa
181he:Hebrew
182hi:Hindi
183ho:Hiri Motu
184hr:Croatian
185hu:Hungarian
186hy:Armenian
187hz:Herero
188
189ia:Interlingua
190id:Indonesian
191ie:Interlingue
192ik:Inupiaq
193is:Icelandic
194it:Italian
195iu:Inuktitut
196
197ja:Japanese
198jw:Javanese
199
200ka:Georgian
201ki:Kikuyu
202kj:Kuanyama
203kk:Kazakh
204kl:Kalaallisut
205km:Khmer
206kn:Kannada
207ko:Korean
208ks:Kashmiri
209ku:Kurdish
210kv:Komi
211kw:Cornish
212ky:Kirghiz
213
214la:Latin
215lb:Letzeburgesch
216ln:Lingala
217lo:Lao
218lt:Lithuanian
219lv:Latvian
220
221mg:Malagasy
222mh:Marshall
223mi:Maori
224mk:Macedonian
225ml:Malayalam
226mn:Mongolian
227mo:Moldavian
228mr:Marathi
229ms:Malay
230mt:Maltese
231my:Burmese
232
233na:Nauru
234