line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package WebService::Libris::Utils; |
2
|
|
|
|
|
|
|
|
3
|
1
|
|
|
1
|
|
5
|
use Exporter qw/import/; |
|
1
|
|
|
|
|
2
|
|
|
1
|
|
|
|
|
642
|
|
4
|
|
|
|
|
|
|
|
5
|
|
|
|
|
|
|
our @EXPORT_OK = qw/marc_lang_code_to_iso/; |
6
|
|
|
|
|
|
|
|
7
|
|
|
|
|
|
|
our %langcodes = ( |
8
|
|
|
|
|
|
|
'som' => 'so', |
9
|
|
|
|
|
|
|
'ido' => 'io', |
10
|
|
|
|
|
|
|
'esp' => 'eo', |
11
|
|
|
|
|
|
|
'mal' => 'ml', |
12
|
|
|
|
|
|
|
'uzb' => 'uz', |
13
|
|
|
|
|
|
|
'ukr' => 'uk', |
14
|
|
|
|
|
|
|
'cha' => 'ch', |
15
|
|
|
|
|
|
|
'sao' => 'sm', |
16
|
|
|
|
|
|
|
'kon' => 'kg', |
17
|
|
|
|
|
|
|
'far' => 'fo', |
18
|
|
|
|
|
|
|
'ava' => 'av', |
19
|
|
|
|
|
|
|
'epo' => 'eo', |
20
|
|
|
|
|
|
|
'ven' => 've', |
21
|
|
|
|
|
|
|
'tel' => 'te', |
22
|
|
|
|
|
|
|
'rus' => 'ru', |
23
|
|
|
|
|
|
|
'cre' => 'cr', |
24
|
|
|
|
|
|
|
'ita' => 'it', |
25
|
|
|
|
|
|
|
'pol' => 'pl', |
26
|
|
|
|
|
|
|
'mac' => 'mk', |
27
|
|
|
|
|
|
|
'kor' => 'ko', |
28
|
|
|
|
|
|
|
'geo' => 'ka', |
29
|
|
|
|
|
|
|
'nya' => 'ny', |
30
|
|
|
|
|
|
|
'bur' => 'my', |
31
|
|
|
|
|
|
|
'tsw' => 'tn', |
32
|
|
|
|
|
|
|
'bam' => 'bm', |
33
|
|
|
|
|
|
|
'kin' => 'rw', |
34
|
|
|
|
|
|
|
'tur' => 'tr', |
35
|
|
|
|
|
|
|
'wol' => 'wo', |
36
|
|
|
|
|
|
|
'ewe' => 'ee', |
37
|
|
|
|
|
|
|
'est' => 'et', |
38
|
|
|
|
|
|
|
'sun' => 'su', |
39
|
|
|
|
|
|
|
'ndo' => 'ng', |
40
|
|
|
|
|
|
|
'swe' => 'sv', |
41
|
|
|
|
|
|
|
'nep' => 'ne', |
42
|
|
|
|
|
|
|
'chi' => 'zh', |
43
|
|
|
|
|
|
|
'gag' => 'gl', |
44
|
|
|
|
|
|
|
'lug' => 'lg', |
45
|
|
|
|
|
|
|
'lim' => 'li', |
46
|
|
|
|
|
|
|
'aym' => 'ay', |
47
|
|
|
|
|
|
|
'nor' => 'no', |
48
|
|
|
|
|
|
|
'rum' => 'ro', |
49
|
|
|
|
|
|
|
'dzo' => 'dz', |
50
|
|
|
|
|
|
|
'ara' => 'ar', |
51
|
|
|
|
|
|
|
'bul' => 'bg', |
52
|
|
|
|
|
|
|
'ind' => 'id', |
53
|
|
|
|
|
|
|
'por' => 'pt', |
54
|
|
|
|
|
|
|
'cam' => 'km', |
55
|
|
|
|
|
|
|
'asm' => 'as', |
56
|
|
|
|
|
|
|
'bre' => 'br', |
57
|
|
|
|
|
|
|
'gal' => 'om', |
58
|
|
|
|
|
|
|
'snd' => 'sd', |
59
|
|
|
|
|
|
|
'iii' => 'ii', |
60
|
|
|
|
|
|
|
'tuk' => 'tk', |
61
|
|
|
|
|
|
|
'xho' => 'xh', |
62
|
|
|
|
|
|
|
'arg' => 'an', |
63
|
|
|
|
|
|
|
'wln' => 'wa', |
64
|
|
|
|
|
|
|
'fin' => 'fi', |
65
|
|
|
|
|
|
|
'tag' => 'tl', |
66
|
|
|
|
|
|
|
'sho' => 'sn', |
67
|
|
|
|
|
|
|
'nav' => 'nv', |
68
|
|
|
|
|
|
|
'may' => 'ms', |
69
|
|
|
|
|
|
|
'cor' => 'kw', |
70
|
|
|
|
|
|
|
'ori' => 'or', |
71
|
|
|
|
|
|
|
'lao' => 'lo', |
72
|
|
|
|
|
|
|
'ave' => 'ae', |
73
|
|
|
|
|
|
|
'khm' => 'km', |
74
|
|
|
|
|
|
|
'que' => 'qu', |
75
|
|
|
|
|
|
|
'ice' => 'is', |
76
|
|
|
|
|
|
|
'aar' => 'aa', |
77
|
|
|
|
|
|
|
'tar' => 'tt', |
78
|
|
|
|
|
|
|
'div' => 'dv', |
79
|
|
|
|
|
|
|
'san' => 'sa', |
80
|
|
|
|
|
|
|
'lub' => 'lu', |
81
|
|
|
|
|
|
|
'scr' => 'hr', |
82
|
|
|
|
|
|
|
'lat' => 'la', |
83
|
|
|
|
|
|
|
'scc' => 'sr', |
84
|
|
|
|
|
|
|
'hrv' => 'hr', |
85
|
|
|
|
|
|
|
'run' => 'rn', |
86
|
|
|
|
|
|
|
'bak' => 'ba', |
87
|
|
|
|
|
|
|
'mon' => 'mn', |
88
|
|
|
|
|
|
|
'ben' => 'bn', |
89
|
|
|
|
|
|
|
'lin' => 'ln', |
90
|
|
|
|
|
|
|
'oss' => 'os', |
91
|
|
|
|
|
|
|
'smo' => 'sm', |
92
|
|
|
|
|
|
|
'gua' => 'gn', |
93
|
|
|
|
|
|
|
'kur' => 'ku', |
94
|
|
|
|
|
|
|
'ile' => 'ie', |
95
|
|
|
|
|
|
|
'tat' => 'tt', |
96
|
|
|
|
|
|
|
'glv' => 'gv', |
97
|
|
|
|
|
|
|
'guj' => 'gu', |
98
|
|
|
|
|
|
|
'tsn' => 'tn', |
99
|
|
|
|
|
|
|
'jav' => 'jv', |
100
|
|
|
|
|
|
|
'gla' => 'gd', |
101
|
|
|
|
|
|
|
'yid' => 'yi', |
102
|
|
|
|
|
|
|
'iri' => 'ga', |
103
|
|
|
|
|
|
|
'arm' => 'hy', |
104
|
|
|
|
|
|
|
'grn' => 'gn', |
105
|
|
|
|
|
|
|
'cze' => 'cs', |
106
|
|
|
|
|
|
|
'srp' => 'sr', |
107
|
|
|
|
|
|
|
'ltz' => 'lb', |
108
|
|
|
|
|
|
|
'pus' => 'ps', |
109
|
|
|
|
|
|
|
'kan' => 'kn', |
110
|
|
|
|
|
|
|
'bel' => 'be', |
111
|
|
|
|
|
|
|
'sna' => 'sn', |
112
|
|
|
|
|
|
|
'mol' => 'mo', |
113
|
|
|
|
|
|
|
'tir' => 'ti', |
114
|
|
|
|
|
|
|
'chv' => 'cv', |
115
|
|
|
|
|
|
|
'lav' => 'lv', |
116
|
|
|
|
|
|
|
'mlt' => 'mt', |
117
|
|
|
|
|
|
|
'fij' => 'fj', |
118
|
|
|
|
|
|
|
'cat' => 'ca', |
119
|
|
|
|
|
|
|
'baq' => 'eu', |
120
|
|
|
|
|
|
|
'pli' => 'pi', |
121
|
|
|
|
|
|
|
'lit' => 'lt', |
122
|
|
|
|
|
|
|
'her' => 'hz', |
123
|
|
|
|
|
|
|
'kom' => 'kv', |
124
|
|
|
|
|
|
|
'tso' => 'ts', |
125
|
|
|
|
|
|
|
'tgk' => 'tg', |
126
|
|
|
|
|
|
|
'gle' => 'ga', |
127
|
|
|
|
|
|
|
'kaz' => 'kk', |
128
|
|
|
|
|
|
|
'hin' => 'hi', |
129
|
|
|
|
|
|
|
'wel' => 'cy', |
130
|
|
|
|
|
|
|
'urd' => 'ur', |
131
|
|
|
|
|
|
|
'mao' => 'mi', |
132
|
|
|
|
|
|
|
'kik' => 'ki', |
133
|
|
|
|
|
|
|
'vie' => 'vi', |
134
|
|
|
|
|
|
|
'ger' => 'de', |
135
|
|
|
|
|
|
|
'slv' => 'sl', |
136
|
|
|
|
|
|
|
'tgl' => 'tl', |
137
|
|
|
|
|
|
|
'max' => 'gv', |
138
|
|
|
|
|
|
|
'dan' => 'da', |
139
|
|
|
|
|
|
|
'orm' => 'om', |
140
|
|
|
|
|
|
|
'fre' => 'fr', |
141
|
|
|
|
|
|
|
'bis' => 'bi', |
142
|
|
|
|
|
|
|
'srd' => 'sc', |
143
|
|
|
|
|
|
|
'glg' => 'gl', |
144
|
|
|
|
|
|
|
'zha' => 'za', |
145
|
|
|
|
|
|
|
'hau' => 'ha', |
146
|
|
|
|
|
|
|
'yor' => 'yo', |
147
|
|
|
|
|
|
|
'mar' => 'mr', |
148
|
|
|
|
|
|
|
'bih' => 'bh', |
149
|
|
|
|
|
|
|
'dut' => 'nl', |
150
|
|
|
|
|
|
|
'afr' => 'af', |
151
|
|
|
|
|
|
|
'mah' => 'mh', |
152
|
|
|
|
|
|
|
'per' => 'fa', |
153
|
|
|
|
|
|
|
'taj' => 'tg', |
154
|
|
|
|
|
|
|
'eng' => 'en', |
155
|
|
|
|
|
|
|
'heb' => 'he', |
156
|
|
|
|
|
|
|
'ipk' => 'ik', |
157
|
|
|
|
|
|
|
'tib' => 'bo', |
158
|
|
|
|
|
|
|
'fao' => 'fo', |
159
|
|
|
|
|
|
|
'oji' => 'oj', |
160
|
|
|
|
|
|
|
'iku' => 'iu', |
161
|
|
|
|
|
|
|
'nno' => 'nn', |
162
|
|
|
|
|
|
|
'nob' => 'nb', |
163
|
|
|
|
|
|
|
'amh' => 'am', |
164
|
|
|
|
|
|
|
'ibo' => 'ig', |
165
|
|
|
|
|
|
|
'tam' => 'ta', |
166
|
|
|
|
|
|
|
'mla' => 'mg', |
167
|
|
|
|
|
|
|
'hun' => 'hu', |
168
|
|
|
|
|
|
|
'sme' => 'se', |
169
|
|
|
|
|
|
|
'chu' => 'cu', |
170
|
|
|
|
|
|
|
'alb' => 'sq', |
171
|
|
|
|
|
|
|
'twi' => 'tw', |
172
|
|
|
|
|
|
|
'cos' => 'co', |
173
|
|
|
|
|
|
|
'slo' => 'sk', |
174
|
|
|
|
|
|
|
'nau' => 'na', |
175
|
|
|
|
|
|
|
'zul' => 'zu', |
176
|
|
|
|
|
|
|
'kua' => 'kj', |
177
|
|
|
|
|
|
|
'jpn' => 'ja', |
178
|
|
|
|
|
|
|
'tha' => 'th', |
179
|
|
|
|
|
|
|
'che' => 'ce', |
180
|
|
|
|
|
|
|
'swa' => 'sw', |
181
|
|
|
|
|
|
|
'kas' => 'ks', |
182
|
|
|
|
|
|
|
'bos' => 'bs', |
183
|
|
|
|
|
|
|
'mlg' => 'mg', |
184
|
|
|
|
|
|
|
'spa' => 'es', |
185
|
|
|
|
|
|
|
'kau' => 'kr', |
186
|
|
|
|
|
|
|
'aka' => 'ak', |
187
|
|
|
|
|
|
|
'tah' => 'ty', |
188
|
|
|
|
|
|
|
'hmo' => 'ho' |
189
|
|
|
|
|
|
|
); |
190
|
|
|
|
|
|
|
|
191
|
|
|
|
|
|
|
sub marc_lang_code_to_iso { |
192
|
2
|
|
33
|
2
|
0
|
17
|
$langcodes{$_[0]} // $_[0]; |
193
|
|
|
|
|
|
|
} |
194
|
|
|
|
|
|
|
|
195
|
|
|
|
|
|
|
1; |