File Coverage

blib/lib/Locale/CLDR/Locales/Ar/Any/Sa.pm
Criterion Covered Total %
statement 32 32 100.0
branch n/a
condition n/a
subroutine 11 11 100.0
pod n/a
total 43 43 100.0


line stmt bran cond sub pod time code
1             =encoding utf8
2              
3             =head1 NAME
4              
5             Locale::CLDR::Locales::Ar::Any::Sa - Package for language Arabic
6              
7             =cut
8              
9             package Locale::CLDR::Locales::Ar::Any::Sa;
10             # This file auto generated from Data\common\main\ar_SA.xml
11             # on Fri 13 Oct 9:05:30 am GMT
12              
13 1     1   878 use strict;
  1         2  
  1         24  
14 1     1   5 use warnings;
  1         2  
  1         21  
15 1     1   4 use version;
  1         2  
  1         4  
16              
17             our $VERSION = version->declare('v0.34.2');
18              
19 1     1   85 use v5.10.1;
  1         4  
20 1     1   6 use mro 'c3';
  1         2  
  1         5  
21 1     1   23 use utf8;
  1         2  
  1         14  
22 1     1   33 use if $^V ge v5.12.0, feature => 'unicode_strings';
  1         2  
  1         113  
23 1     1   86 use Types::Standard qw( Str Int HashRef ArrayRef CodeRef RegexpRef );
  1         1  
  1         5  
24 1     1   876 use Moo;
  1         3  
  1         5  
25              
26             extends('Locale::CLDR::Locales::Ar::Any');
27             has 'display_name_language' => (
28             is => 'ro',
29             isa => CodeRef,
30             init_arg => undef,
31             default => sub {
32             sub {
33             my %languages = (
34             'arn' => 'المابودونجونية',
35             'gn' => 'الغورانية',
36             'hsb' => 'صوربيا العليا',
37             'lo' => 'اللاوو',
38             'sh' => 'الكرواتية الصربية',
39             'sma' => 'سامي الجنوبية',
40             'sw' => 'السواحيلية',
41             'sw_CD' => 'السواحيلية الكونغولية',
42             'te' => 'التيلوجو',
43             'ti' => 'التيغرينية',
44              
45             );
46             if (@_) {
47             return $languages{$_[0]};
48             }
49             return \%languages;
50             }
51             },
52             );
53              
54             has 'display_name_region' => (
55             is => 'ro',
56             isa => HashRef[Str],
57             init_arg => undef,
58             default => sub {
59             {
60             'AC' => 'جزيرة أسينشين',
61             'BS' => 'جزر البهاما',
62             'CZ@alt=variant' => 'التشيك',
63             'EA' => 'سبتة ومليلية',
64             'MO' => 'ماكاو الصينية (منطقة إدارية خاصة)',
65             'MO@alt=short' => 'ماكاو',
66             'MS' => 'مونتيسيرات',
67             'UY' => 'أوروغواي',
68              
69             }
70             },
71             );
72              
73             has 'characters' => (
74             is => 'ro',
75             isa => HashRef,
76             init_arg => undef,
77             default => $^V ge v5.18.0
78             ? eval <<'EOT'
79             sub {
80             no warnings 'experimental::regex_sets';
81             return {
82             numbers => qr{[‎ \- , . ٪ ‰ + 0 1 2 3 4 5 6 7 8 9]},
83             };
84             },
85             EOT
86             : sub {
87             return {};
88             },
89 1     1   97 );
  1         2  
  1         75  
90              
91              
92             has 'default_numbering_system' => (
93             is => 'ro',
94             isa => Str,
95             init_arg => undef,
96             default => 'arab',
97             );
98              
99             has 'number_symbols' => (
100             is => 'ro',
101             isa => HashRef,
102             init_arg => undef,
103             default => sub { {
104             'latn' => {
105             'percentSign' => q(٪),
106             },
107             } }
108             );
109              
110             has 'day_period_data' => (
111             is => 'ro',
112             isa => CodeRef,
113             init_arg => undef,
114             default => sub { sub {
115             # Time in hhmm format
116             my ($self, $type, $time, $day_period_type) = @_;
117             $day_period_type //= 'default';
118             SWITCH:
119             for ($type) {
120             if ($_ eq 'gregorian') {
121             if($day_period_type eq 'default') {
122             return 'afternoon1' if $time >= 1200
123             && $time < 1300;
124             return 'afternoon2' if $time >= 1300
125             && $time < 1800;
126             return 'evening1' if $time >= 1800
127             && $time < 2400;
128             return 'morning1' if $time >= 300
129             && $time < 600;
130             return 'morning2' if $time >= 600
131             && $time < 1200;
132             return 'night1' if $time >= 0
133             && $time < 100;
134             return 'night2' if $time >= 100
135             && $time < 300;
136             }
137             if($day_period_type eq 'selection') {
138             return 'afternoon1' if $time >= 1200
139             && $time < 1300;
140             return 'afternoon2' if $time >= 1300
141             && $time < 1800;
142             return 'evening1' if $time >= 1800
143             && $time < 2400;
144             return 'morning1' if $time >= 300
145             && $time < 600;
146             return 'morning2' if $time >= 600
147             && $time < 1200;
148             return 'night1' if $time >= 0
149             && $time < 100;
150             return 'night2' if $time >= 100
151             && $time < 300;
152             }
153             last SWITCH;
154             }
155             }
156             } },
157             );
158              
159             around day_period_data => sub {
160             my ($orig, $self) = @_;
161             return $self->$orig;
162             };
163              
164             has 'day_periods' => (
165             is => 'ro',
166             isa => HashRef,
167             init_arg => undef,
168             default => sub { {
169             'gregorian' => {
170             'format' => {
171             'abbreviated' => {
172             'afternoon1' => q{ظهرًا},
173             'afternoon2' => q{بعد الظهر},
174             'evening1' => q{مساءً},
175             'morning1' => q{فجرًا},
176             'morning2' => q{ص},
177             'night1' => q{منتصف الليل},
178             'night2' => q{ل},
179             },
180             },
181             },
182             } },
183             );
184              
185             has 'eras' => (
186             is => 'ro',
187             isa => HashRef,
188             init_arg => undef,
189             default => sub { {
190             'gregorian' => {
191             },
192             } },
193             );
194              
195             has 'date_formats' => (
196             is => 'ro',
197             isa => HashRef,
198             init_arg => undef,
199             default => sub { {
200             'gregorian' => {
201             },
202             } },
203             );
204              
205             has 'time_formats' => (
206             is => 'ro',
207             isa => HashRef,
208             init_arg => undef,
209             default => sub { {
210             'gregorian' => {
211             },
212             } },
213             );
214              
215             has 'datetime_formats' => (
216             is => 'ro',
217             isa => HashRef,
218             init_arg => undef,
219             default => sub { {
220             'gregorian' => {
221             },
222             } },
223             );
224              
225             has 'datetime_formats_available_formats' => (
226             is => 'ro',
227             isa => HashRef,
228             init_arg => undef,
229             default => sub { {
230             } },
231             );
232              
233             has 'datetime_formats_append_item' => (
234             is => 'ro',
235             isa => HashRef,
236             init_arg => undef,
237             default => sub { {
238             } },
239             );
240              
241             has 'datetime_formats_interval' => (
242             is => 'ro',
243             isa => HashRef,
244             init_arg => undef,
245             default => sub { {
246             } },
247             );
248              
249 1     1   1174 no Moo;
  1         2  
  1         4  
250              
251             1;
252              
253             # vim: tabstop=4