File Coverage

blib/lib/Weather/YR/Lang/Symbol.pm
Criterion Covered Total %
statement 9 11 81.8
branch n/a
condition n/a
subroutine 3 4 75.0
pod n/a
total 12 15 80.0


line stmt bran cond sub pod time code
1             package Weather::YR::Lang::Symbol;
2 3     3   26 use utf8;
  3         7  
  3         31  
3 3     3   106 use Moose;
  3         14  
  3         15  
4 3     3   19411 use namespace::autoclean;
  3         9  
  3         20  
5              
6             has 'number' => ( isa => 'Int', is => 'rw', required => 1 );
7             has 'lang' => ( isa => 'Str', is => 'rw', required => 1 );
8              
9             has 'text' => ( isa => 'Str', is => 'ro', lazy_build => 1 );
10              
11             our $TRANSLATIONS = {
12             1 => {
13             de => 'Sonnig/Klar',
14             en => 'Sun/clear',
15             nb => 'Sol/klarvær',
16             },
17             2 => {
18             de => 'Leicht bewölkt',
19             en => 'Fair',
20             nb => 'Lettskyet',
21             },
22             3 => {
23             de => 'Teilweise bewölkt',
24             en => 'Partly cloudy',
25             nb => 'Delvis skyet',
26             },
27             4 => {
28             de => 'Bedeckt',
29             en => 'Cloudy',
30             nb => 'Skyet',
31             },
32             5 => {
33             de => 'Regenschauer',
34             en => 'Light rain showers',
35             nb => 'Lette regnbyger',
36             },
37             6 => {
38             de => 'Regenschauer und Gewitter',
39             en => 'Light rain showers and thunder',
40             nb => 'Lette regnbyger og torden',
41             },
42             7 => {
43             de => 'Schneeregenschauer',
44             en => 'Snow flurries',
45             nb => 'Sluddbyger',
46             },
47             8 => {
48             de => 'Schneeschauer',
49             en => 'Snow showers',
50             nb => 'Snøbyger',
51             },
52             9 => {
53             de => 'Regen',
54             en => 'Rain',
55             nb => 'Regn',
56             },
57             10 => {
58             de => 'Starker Regen',
59             en => 'Heavy rain',
60             nb => 'Kraftig regn',
61             },
62             11 => {
63             de => 'Starker Regen und Gewitter',
64             en => 'Rain and thunder',
65             nb => 'Regn og torden',
66             },
67             12 => {
68             de => 'Schneeregen',
69             en => 'Sleet',
70             nb => 'Sludd',
71             },
72             13 => {
73             de => 'Schnee',
74             en => 'Snow',
75             nb => 'Snø',
76             },
77             14 => {
78             de => 'Schneegewitter',
79             en => 'Snow and thunder',
80             nb => 'Snø og torden',
81             },
82             15 => {
83             de => 'Nebel',
84             en => 'Fog',
85             nb => 'Tåke',
86             },
87             20 => {
88             de => 'Schneeregenschauer und Gewitter',
89             en => 'Snow flurries and thunder',
90             nb => 'Sluddbyger og torden',
91             },
92             21 => {
93             de => 'Schneeschauer und Gewitter',
94             en => 'Snow showers and thunder',
95             nb => 'Snøbyger og torden',
96             },
97             22 => {
98             de => 'Regen und Gewitter',
99             en => 'Rain showers and thunder',
100             nb => 'Regnbyger og torden',
101             },
102             23 => {
103             de => 'Schneeregen und Gewitter',
104             en => 'Sleet and thunder',
105             nb => 'Sludd og torden',
106             },
107             24 => {
108             de => 'Leichte Regenschauer und Gewitter',
109             en => 'Drizzle showers and thunder',
110             nb => 'Yrbyger og torden',
111             },
112             25 => {
113             de => 'Starke Regenschauer und Gewitter',
114             en => 'Thundershowers',
115             nb => 'Tordenbyger',
116             },
117             26 => {
118             de => 'Leichte Schneeregenschauer und Gewitter',
119             en => 'Rain showers and thunder',
120             nb => 'Regnbyger og torden',
121             },
122             27 => {
123             de => 'Starke Schneeregenschauer und Gewitter',
124             en => 'Heavy snow and thunder',
125             nb => 'Kraftige sluddbyger og torden',
126             },
127             28 => {
128             de => 'Leichte Schneeschauer und Gewitter',
129             en => 'Light snow showers and thunder',
130             nb => 'Lette snøbyger og torden',
131             },
132             29 => {
133             de => 'Starke Schneeschauer und Gewitter',
134             en => 'Heavy snow showers and thunder',
135             nb => 'Kraftige snøbyger og torden',
136             },
137             30 => {
138             de => 'Leichter Regen und Gewitter',
139             en => 'Light drizzle and thunder',
140             nb => 'Yr og torden',
141             },
142             31 => {
143             de => 'Leichter Schneeregen und Gewitter',
144             en => 'Light sleep showers and thunder',
145             nb => 'Lette sluddbyger og torden',
146             },
147             32 => {
148             de => 'Starker Schneeregen und Gewitter',
149             en => 'Heavy sleet and thunder',
150             nb => 'Kraftig sludd og torden',
151             },
152             33 => {
153             de => 'Leichter Schneefall und Gewitter',
154             en => 'Light snowfall and thunder',
155             nb => 'Lett snøfall og torden',
156             },
157             34 => {
158             de => 'Starker Schneefall und Gewitter',
159             en => 'Heavy snowfall and thunder',
160             nb => 'Kraftig snøfall og torden',
161             },
162             40 => {
163             de => 'Leichte Regenschauer',
164             en => 'Light rain showers',
165             nb => 'Yrbyger',
166             },
167             41 => {
168             de => 'Starke Regenschauer',
169             en => 'Rain showers',
170             nb => 'Regnbyger',
171             },
172             42 => {
173             de => 'Leichte Schneeregenschauer',
174             en => 'Light sleet showers',
175             nb => 'Lette sluddbyger',
176             },
177             43 => {
178             de => 'Starke Schneeregenschauer',
179             en => 'Heavy sleet showers',
180             nb => 'Kraftige sluddbyger',
181             },
182             44 => {
183             de => 'Leichte Schneeschauer',
184             en => 'Light snow showers',
185             nb => 'Lette snøbyger',
186             },
187             45 => {
188             de => 'Starke Schneeschauer',
189             en => 'Heavy snow showers',
190             nb => 'Kraftige snøbyger',
191             },
192             46 => {
193             de => 'Leichter Regen',
194             en => 'Drizzle',
195             nb => 'Yr',
196             },
197             47 => {
198             de => 'Leichter Schneeregen',
199             en => 'Light sleet',
200             nb => 'Lett sludd',
201             },
202             48 => {
203             de => 'Starker Schneeregen',
204             en => 'Heavy sleet',
205             nb => 'Kraftig sludd',
206             },
207             49 => {
208             de => 'Leichter Schneefall',
209             en => 'Light snow fall',
210             nb => 'Lett snø',
211             },
212             50 => {
213             de => 'Starker Schneefall',
214             en => 'Heavy snow fall',
215             nb => 'Kraftig snøfall',
216             },
217              
218             # Polar night
219             101 => {
220             de => 'Sonnig/Klar (Polarnacht)',
221             en => 'Sun/clear (polar night)',
222             nb => 'Sol/klarvær (mørketid)',
223             },
224             102 => {
225             en => 'Fair (polar night)',
226             nb => 'Lettskyet (mørketid)',
227             },
228             103 => {
229             de => 'Teilweise bewölkt (Polarnacht)',
230             en => 'Partly cloudy (polar night)',
231             nb => 'Delvis skyet (mørketid)',
232             },
233             105 => {
234             de => 'Regenschauer (Polarnacht)',
235             en => 'Rain showers (polar night)',
236             nb => 'Regnbyger (mørketid)',
237             },
238             106 => {
239             de => 'Regenschauer und Gewitter (Polarnacht)',
240             en => 'Rain showers with thunder (polar night)',
241             nb => 'Regnbyger med torden (mørketid)',
242             },
243             107 => {
244             de => 'Schneeregenschauer (Polarnacht)',
245             en => 'Snow flurry showers (polar night)',
246             nb => 'Sluddbyger (mørketid)',
247             },
248             108 => {
249             de => 'Schneeschauer (Polarnacht)',
250             en => 'Snow showers (polar night)',
251             nb => 'Snøbyger (mørketid)',
252             },
253             120 => {
254             de => 'Schneeregenschauer und Gewitter (Polarnacht)',
255             en => 'Snow flurry showers with thunder (polar night)',
256             nb => 'Sluddbyger med torden (mørketid)',
257             },
258             121 => {
259             de => 'Schneeschauer und Gewitter (Polarnacht)',
260             en => 'Snow showers with thunder (polar night)',
261             nb => 'Snøbyger med torden (mørketid)',
262             },
263             124 => {
264             de => 'Leichte Regenschauer und Gewitter (Polarnacht)',
265             en => 'Drizzle and thunder (polar night)',
266             nb => 'Yrbyger og torden (mørketid)',
267             },
268             125 => {
269             de => 'Starke Regenschauer und Gewitter (Polarnacht)',
270             en => 'Thundershowers (polar night)',
271             nb => 'Tordenbyger (mørketid)',
272             },
273             126 => {
274             de => 'Leichte Schneeregenschauer und Gewitter (Polarnacht)',
275             en => 'Rain showers and thunder (polar night)',
276             nb => 'Regnbyger og torden (mørketid)',
277             },
278             127 => {
279             de => 'Starke Schneeregenschauer und Gewitter (Polarnacht)',
280             en => 'Heavy snow sleet with thunder (polar night)',
281             nb => 'Kraftige sluddbyger og torden (mørketid)',
282             },
283             128 => {
284             de => 'Leichte Schneeschauer und Gewitter (Polarnacht)',
285             en => 'Light snow showers and thunder (polar night)',
286             nb => 'Lette snøbyger og torden (mørketid)',
287             },
288             129 => {
289             de => 'Starke Schneeschauer und Gewitter (Polarnacht)',
290             en => 'Heavy snow showers and thunder (polar night)',
291             nb => 'Kraftige snøbyger og torden (mørketid)',
292             },
293             140 => {
294             de => 'Leichte Regenschauer (Polarnacht)',
295             en => 'Drizzle showers and thunder (polar night)',
296             nb => 'Yrbyger (mørketid)',
297             },
298             141 => {
299             de => 'Starke Regenschauer (Polarnacht)',
300             en => 'Rain showers (polar night)',
301             nb => 'Regnbyger (mørketid)',
302             },
303             142 => {
304             de => 'Leichte Schneeregenschauer (Polarnacht)',
305             en => 'Light sleet showers (polar night)',
306             nb => 'Lette sluddbyger (mørketid)',
307             },
308             143 => {
309             de => 'Starke Schneeregenschauer (Polarnacht)',
310             en => 'Heavy sleet showers (polar night)',
311             nb => 'Kraftige sluddbyger (mørketid)',
312             },
313             144 => {
314             de => 'Leichte Schneeschauer (Polarnacht)',
315             en => 'Light snow showers (polar night)',
316             nb => 'Lette snøbyger (mørketid)',
317             },
318             145 => {
319             de => 'Starke Schneeschauer (Polarnacht)',
320             en => 'Heavy snow showers (polar night)',
321             nb => 'Kraftige snøbyger (mørketid)',
322             },
323             };
324              
325             sub _build_text {
326 0     0     my $self = shift;
327              
328 0           return $TRANSLATIONS->{ $self->number }->{ $self->lang };
329             }
330              
331             __PACKAGE__->meta->make_immutable;
332              
333             1;