ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/staticperl/perl/lib/Locale/Language.pm
Revision: 1.1
Committed: Thu Jun 30 14:27:12 2005 UTC (21 years, 3 months ago) by root
Branch: MAIN
CVS Tags: HEAD
Branch point for: PERL
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 #
2     # Locale::Language - ISO two letter codes for language identification (ISO 639)
3     #
4     # $Id: Language.pm,v 2.7 2004/06/10 21:19:34 neilb Exp $
5     #
6    
7     package Locale::Language;
8     use strict;
9     require 5.002;
10    
11     require Exporter;
12    
13     #-----------------------------------------------------------------------
14     # Public Global Variables
15     #-----------------------------------------------------------------------
16     use vars qw($VERSION @ISA @EXPORT);
17     $VERSION = sprintf("%d.%02d", q$Revision: 2.7 $ =~ /(\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     #-----------------------------------------------------------------------
25     my %CODES = ();
26     my %LANGUAGES = ();
27    
28    
29     #=======================================================================
30     #
31     # code2language ( CODE )
32     #
33     #=======================================================================
34     sub 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     #=======================================================================
60     sub 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     #=======================================================================
86     sub all_language_codes
87     {
88     return keys %CODES;
89     }
90    
91    
92     #=======================================================================
93     #
94     # all_language_names()
95     #
96     #=======================================================================
97     sub 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     local $_;
110    
111    
112     while (<DATA>)
113     {
114     next unless /\S/;
115     chop;
116     ($code, $language) = split(/:/, $_, 2);
117     $CODES{$code} = $language;
118     $LANGUAGES{"\L$language"} = $code;
119     }
120    
121     close(DATA);
122     }
123    
124     1;
125    
126     __DATA__
127     aa:Afar
128     ab:Abkhazian
129     ae:Avestan
130     af:Afrikaans
131     am:Amharic
132     ar:Arabic
133     as:Assamese
134     ay:Aymara
135     az:Azerbaijani
136    
137     ba:Bashkir
138     be:Belarusian
139     bg:Bulgarian
140     bh:Bihari
141     bi:Bislama
142     bn:Bengali
143     bo:Tibetan
144     br:Breton
145     bs:Bosnian
146    
147     ca:Catalan
148     ce:Chechen
149     ch:Chamorro
150     co:Corsican
151     cs:Czech
152     cu:Church Slavic
153     cv:Chuvash
154     cy:Welsh
155    
156     da:Danish
157     de:German
158     dz:Dzongkha
159    
160     el:Greek
161     en:English
162     eo:Esperanto
163     es:Spanish
164     et:Estonian
165     eu:Basque
166    
167     fa:Persian
168     fi:Finnish
169     fj:Fijian
170     fo:Faeroese
171     fr:French
172     fy:Frisian
173    
174     ga:Irish
175     gd:Gaelic (Scots)
176     gl:Gallegan
177     gn:Guarani
178     gu:Gujarati
179     gv:Manx
180    
181     ha:Hausa
182     he:Hebrew
183     hi:Hindi
184     ho:Hiri Motu
185     hr:Croatian
186     hu:Hungarian
187     hy:Armenian
188     hz:Herero
189    
190     ia:Interlingua
191     id:Indonesian
192     ie:Interlingue
193     ik:Inupiaq
194     is:Icelandic
195     it:Italian
196     iu:Inuktitut
197    
198     ja:Japanese
199     jw:Javanese
200    
201     ka:Georgian
202     ki:Kikuyu
203     kj:Kuanyama
204     kk:Kazakh
205     kl:Kalaallisut
206     km:Khmer
207     kn:Kannada
208     ko:Korean
209     ks:Kashmiri
210     ku:Kurdish
211     kv:Komi
212     kw:Cornish
213     ky:Kirghiz
214    
215     la:Latin
216     lb:Letzeburgesch
217     ln:Lingala
218     lo:Lao
219     lt:Lithuanian
220     lv:Latvian
221    
222     mg:Malagasy
223     mh:Marshall
224     mi:Maori
225     mk:Macedonian
226     ml:Malayalam
227     mn:Mongolian
228     mo:Moldavian
229     mr:Marathi
230     ms:Malay
231     mt:Maltese
232     my:Burmese
233    
234     na:Nauru
235     nb:Norwegian Bokmal
236     nd:Ndebele, North
237     ne:Nepali
238     ng:Ndonga
239     nl:Dutch
240     nn:Norwegian Nynorsk
241     no:Norwegian
242     nr:Ndebele, South
243     nv:Navajo
244     ny:Chichewa; Nyanja
245    
246     oc:Occitan (post 1500)
247     om:Oromo
248     or:Oriya
249     os:Ossetian; Ossetic
250    
251     pa:Panjabi
252     pi:Pali
253     pl:Polish
254     ps:Pushto
255     pt:Portuguese
256    
257     qu:Quechua
258    
259     rm:Rhaeto-Romance
260     rn:Rundi
261     ro:Romanian
262     ru:Russian
263     rw:Kinyarwanda
264    
265     sa:Sanskrit
266     sc:Sardinian
267     sd:Sindhi
268     se:Sami
269     sg:Sango
270     si:Sinhalese
271     sk:Slovak
272     sl:Slovenian
273     sm:Samoan
274     sn:Shona
275     so:Somali
276     sq:Albanian
277     sr:Serbian
278     ss:Swati
279     st:Sotho
280     su:Sundanese
281     sv:Swedish
282     sw:Swahili
283    
284     ta:Tamil
285     te:Telugu
286     tg:Tajik
287     th:Thai
288     ti:Tigrinya
289     tk:Turkmen
290     tl:Tagalog
291     tn:Tswana
292     to:Tonga
293     tr:Turkish
294     ts:Tsonga
295     tt:Tatar
296     tw:Twi
297    
298     ug:Uighur
299     uk:Ukrainian
300     ur:Urdu
301     uz:Uzbek
302    
303     vi:Vietnamese
304     vo:Volapuk
305    
306     wo:Wolof
307    
308     xh:Xhosa
309    
310     yi:Yiddish
311     yo:Yoruba
312    
313     za:Zhuang
314     zh:Chinese
315     zu:Zulu