File Coverage

blib/lib/CLDR/Number/Data/Base.pm
Criterion Covered Total %
statement 17 17 100.0
branch n/a
condition n/a
subroutine 6 6 100.0
pod n/a
total 23 23 100.0


line stmt bran cond sub pod time code
1             package CLDR::Number::Data::Base;
2              
3 18     18   168 use v5.8.1;
  18         56  
4 18     18   246 use utf8;
  18         45  
  18         97  
5 18     18   448 use strict;
  18         35  
  18         380  
6 18     18   83 use warnings;
  18         26  
  18         605  
7 18     18   13018 use charnames qw( :full );
  18         620936  
  18         123  
8 18     18   13482 use CLDR::Number::Constant qw( $N $M $P $C );
  18         47  
  18         5306  
9              
10             # This module does not have a publicly supported interface and may change in
11             # backward incompatible ways in the future. Please use one of the documented
12             # classes instead.
13              
14             our $VERSION = '0.15';
15             our $CLDR_VERSION = '28';
16              
17             our $DATA = {
18             root => {
19             pattern => {
20             at_least => '⩾{0}',
21             currency => '¤ #,##0.00',
22             decimal => '#,##0.###',
23             percent => '#,##0%',
24             range => '{0}–{1}',
25             },
26             symbol => {
27             decimal => '.',
28             group => ',',
29             infinity => '∞',
30             minus => '-',
31             nan => 'NaN',
32             percent => '%',
33             permil => '‰',
34             plus => '+',
35             },
36             system => {
37             default => 'latn',
38             },
39             },
40             af => {
41             pattern => {
42             at_least => '{0}+',
43             currency => '¤#,##0.00',
44             },
45             symbol => {
46             decimal => ',',
47             group => ' ',
48             },
49             },
50             agq => {
51             pattern => {
52             currency => '#,##0.00¤',
53             },
54             symbol => {
55             decimal => ',',
56             group => ' ',
57             },
58             },
59             ak => {
60             pattern => {
61             currency => '¤#,##0.00',
62             },
63             },
64             am => {
65             pattern => {
66             at_least => '{0}+',
67             currency => '¤#,##0.00',
68             },
69             },
70             ar => {
71             pattern => {
72             at_least => '+{0}',
73             },
74             symbol => {
75             decimal => '٫',
76             group => '٬',
77             minus => "\N{RIGHT-TO-LEFT MARK}-",
78             nan => 'ليس رقم',
79             percent => '٪',
80             permil => '؉',
81             plus => "\N{RIGHT-TO-LEFT MARK}+",
82             },
83             system => {
84             default => 'arab',
85             },
86             },
87             'ar-DZ' => {
88             symbol => {
89             decimal => ',',
90             group => '.',
91             minus => "\N{LEFT-TO-RIGHT MARK}-",
92             nan => 'ليس رقمًا',
93             permil => '‰',
94             plus => "\N{LEFT-TO-RIGHT MARK}+",
95             },
96             system => {
97             default => 'latn',
98             },
99             },
100             'ar-EH' => {
101             symbol => {
102             decimal => '.',
103             group => ',',
104             minus => "\N{LEFT-TO-RIGHT MARK}-",
105             nan => 'ليس رقمًا',
106             permil => '‰',
107             plus => "\N{LEFT-TO-RIGHT MARK}+",
108             },
109             system => {
110             default => 'latn',
111             },
112             },
113             'ar-LY' => {
114             symbol => {
115             decimal => ',',
116             group => '.',
117             minus => "\N{LEFT-TO-RIGHT MARK}-",
118             nan => 'ليس رقمًا',
119             permil => '‰',
120             plus => "\N{LEFT-TO-RIGHT MARK}+",
121             },
122             system => {
123             default => 'latn',
124             },
125             },
126             'ar-MA' => {
127             symbol => {
128             decimal => ',',
129             group => '.',
130             minus => "\N{LEFT-TO-RIGHT MARK}-",
131             nan => 'ليس رقمًا',
132             permil => '‰',
133             plus => "\N{LEFT-TO-RIGHT MARK}+",
134             },
135             system => {
136             default => 'latn',
137             },
138             },
139             'ar-TN' => {
140             symbol => {
141             decimal => ',',
142             group => '.',
143             minus => "\N{LEFT-TO-RIGHT MARK}-",
144             nan => 'ليس رقمًا',
145             permil => '‰',
146             plus => "\N{LEFT-TO-RIGHT MARK}+",
147             },
148             system => {
149             default => 'latn',
150             },
151             },
152             as => {
153             pattern => {
154             currency => '¤ #,##,##0.00',
155             decimal => '#,##,##0.###',
156             percent => '#,##,##0%',
157             },
158             system => {
159             default => 'beng',
160             },
161             },
162             asa => {
163             pattern => {
164             currency => '#,##0.00 ¤',
165             },
166             },
167             ast => {
168             pattern => {
169             currency => '#,##0.00 ¤',
170             },
171             symbol => {
172             decimal => ',',
173             group => '.',
174             nan => 'ND',
175             },
176             },
177             az => {
178             pattern => {
179             at_least => '{0}+',
180             },
181             symbol => {
182             decimal => ',',
183             group => '.',
184             },
185             },
186             'az-Cyrl' => {
187             symbol => {
188             decimal => ',',
189             group => '.',
190             },
191             },
192             bas => {
193             pattern => {
194             currency => '#,##0.00 ¤',
195             percent => '#,##0 %',
196             },
197             symbol => {
198             decimal => ',',
199             group => ' ',
200             },
201             },
202             be => {
203             pattern => {
204             at_least => '{0}+',
205             currency => '#,##0.00 ¤',
206             percent => '#,##0 %',
207             },
208             symbol => {
209             decimal => ',',
210             group => ' ',
211             },
212             },
213             bem => {
214             pattern => {
215             currency => '¤#,##0.00',
216             },
217             },
218             bez => {
219             pattern => {
220             currency => '#,##0.00¤',
221             },
222             },
223             bg => {
224             pattern => {
225             at_least => '⩾ {0}',
226             currency => '#,##0.00 ¤',
227             range => '{0} – {1}',
228             },
229             symbol => {
230             decimal => ',',
231             group => ' ',
232             },
233             },
234             bm => {
235             pattern => {
236             currency => '¤#,##0.00',
237             },
238             },
239             bn => {
240             pattern => {
241             at_least => '{0}+',
242             currency => '#,##,##0.00¤',
243             decimal => '#,##,##0.###',
244             percent => '#,##,##0%',
245             },
246             symbol => {
247             nan => 'সংখ্যা না',
248             },
249             system => {
250             default => 'beng',
251             },
252             },
253             br => {
254             pattern => {
255             currency => '#,##0.00 ¤',
256             percent => '#,##0 %',
257             },
258             symbol => {
259             decimal => ',',
260             group => ' ',
261             },
262             },
263             brx => {
264             pattern => {
265             currency => '¤ #,##,##0.00',
266             decimal => '#,##,##0.###',
267             percent => '#,##,##0%',
268             },
269             },
270             bs => {
271             pattern => {
272             at_least => '{0}+',
273             currency => '#,##0.00 ¤',
274             },
275             symbol => {
276             decimal => ',',
277             group => '.',
278             },
279             },
280             'bs-Cyrl' => {
281             pattern => {
282             currency => '#,##0.00 ¤',
283             },
284             symbol => {
285             decimal => ',',
286             group => '.',
287             },
288             },
289             ca => {
290             pattern => {
291             at_least => '≥ {0}',
292             currency => '#,##0.00 ¤',
293             range => '{0}-{1}',
294             },
295             symbol => {
296             decimal => ',',
297             group => '.',
298             },
299             },
300             ce => {
301             pattern => {
302             currency => '#,##0.00 ¤',
303             percent => '#,##0 %',
304             },
305             symbol => {
306             nan => 'Терхьаш дац',
307             },
308             },
309             cgg => {
310             pattern => {
311             currency => '¤#,##0.00',
312             },
313             },
314             chr => {
315             pattern => {
316             currency => '¤#,##0.00',
317             },
318             },
319             ckb => {
320             symbol => {
321             decimal => '٫',
322             group => '٬',
323             minus => "\N{RIGHT-TO-LEFT MARK}-",
324             percent => '٪',
325             permil => '؉',
326             plus => "\N{RIGHT-TO-LEFT MARK}+",
327             },
328             system => {
329             default => 'arab',
330             },
331             },
332             cs => {
333             pattern => {
334             at_least => '{0}+',
335             currency => '#,##0.00 ¤',
336             percent => '#,##0 %',
337             },
338             symbol => {
339             decimal => ',',
340             group => ' ',
341             },
342             },
343             cy => {
344             pattern => {
345             at_least => '{0}+',
346             currency => '¤#,##0.00',
347             },
348             },
349             da => {
350             pattern => {
351             at_least => '{0} eller derover',
352             currency => '#,##0.00 ¤',
353             percent => '#,##0 %',
354             range => '{0}-{1}',
355             },
356             symbol => {
357             decimal => ',',
358             group => '.',
359             },
360             },
361             dav => {
362             pattern => {
363             currency => '¤#,##0.00',
364             },
365             },
366             de => {
367             pattern => {
368             at_least => '{0}+',
369             currency => '#,##0.00 ¤',
370             percent => '#,##0 %',
371             },
372             symbol => {
373             decimal => ',',
374             group => '.',
375             },
376             },
377             'de-AT' => {
378             pattern => {
379             currency => '¤ #,##0.00',
380             },
381             symbol => {
382             group => ' ',
383             },
384             },
385             'de-CH' => {
386             pattern => {
387             currency => '¤ #,##0.00;¤-#,##0.00',
388             percent => '#,##0%',
389             },
390             symbol => {
391             decimal => '.',
392             group => q['],
393             },
394             },
395             'de-LI' => {
396             pattern => {
397             currency => '¤ #,##0.00',
398             percent => '#,##0%',
399             },
400             symbol => {
401             decimal => '.',
402             group => q['],
403             },
404             },
405             dje => {
406             pattern => {
407             currency => '#,##0.00¤',
408             },
409             symbol => {
410             group => ' ',
411             },
412             },
413             dsb => {
414             pattern => {
415             at_least => '{0}+',
416             currency => '#,##0.00 ¤',
417             percent => '#,##0 %',
418             },
419             symbol => {
420             decimal => ',',
421             group => '.',
422             },
423             },
424             dua => {
425             pattern => {
426             currency => '#,##0.00 ¤',
427             percent => '#,##0 %',
428             },
429             symbol => {
430             decimal => ',',
431             group => ' ',
432             },
433             },
434             dyo => {
435             pattern => {
436             currency => '#,##0.00 ¤',
437             },
438             symbol => {
439             decimal => ',',
440             group => ' ',
441             },
442             },
443             dz => {
444             pattern => {
445             currency => '¤#,##,##0.00',
446             decimal => '#,##,##0.###',
447             percent => '#,##,##0 %',
448             },
449             symbol => {
450             infinity => 'གྲངས་མེད',
451             nan => 'ཨང་མད',
452             },
453             system => {
454             default => 'tibt',
455             },
456             },
457             ebu => {
458             pattern => {
459             currency => '¤#,##0.00',
460             },
461             },
462             ee => {
463             pattern => {
464             currency => '¤#,##0.00',
465             },
466             symbol => {
467             nan => 'mnn',
468             },
469             },
470             el => {
471             pattern => {
472             at_least => '{0}+',
473             currency => '#,##0.00 ¤',
474             },
475             symbol => {
476             decimal => ',',
477             group => '.',
478             },
479             },
480             en => {
481             pattern => {
482             at_least => '{0}+',
483             currency => '¤#,##0.00',
484             },
485             },
486             'en-150' => {
487             pattern => {
488             currency => '#,##0.00 ¤',
489             },
490             symbol => {
491             decimal => ',',
492             group => '.',
493             },
494             },
495             'en-AT' => {
496             pattern => {
497             currency => '¤ #,##0.00',
498             percent => '#,##0 %',
499             },
500             },
501             'en-BE' => {
502             pattern => {
503             currency => '#,##0.00 ¤',
504             },
505             symbol => {
506             decimal => ',',
507             group => '.',
508             },
509             },
510             'en-CH' => {
511             pattern => {
512             currency => '¤ #,##0.00;¤-#,##0.00',
513             },
514             },
515             'en-DE' => {
516             pattern => {
517             percent => '#,##0 %',
518             },
519             },
520             'en-DK' => {
521             pattern => {
522             percent => '#,##0 %',
523             },
524             },
525             'en-FI' => {
526             pattern => {
527             percent => '#,##0 %',
528             },
529             symbol => {
530             group => ' ',
531             },
532             },
533             'en-IN' => {
534             pattern => {
535             currency => '¤ #,##,##0.00',
536             decimal => '#,##,##0.###',
537             percent => '#,##,##0%',
538             },
539             },
540             'en-NL' => {
541             pattern => {
542             currency => '¤ #,##0.00;¤ -#,##0.00',
543             },
544             },
545             'en-SE' => {
546             pattern => {
547             percent => '#,##0 %',
548             },
549             symbol => {
550             group => ' ',
551             },
552             },
553             'en-US-u-va-posix' => {
554             pattern => {
555             currency => '¤ #0.00',
556             decimal => '#0.######',
557             percent => '#0%',
558             },
559             symbol => {
560             infinity => 'INF',
561             permil => '0/00',
562             },
563             },
564             'en-ZA' => {
565             symbol => {
566             decimal => ',',
567             group => ' ',
568             },
569             },
570             eo => {
571             symbol => {
572             decimal => ',',
573             group => ' ',
574             },
575             },
576             es => {
577             pattern => {
578             at_least => 'Más de {0}',
579             currency => '#,##0.00 ¤',
580             percent => '#,##0 %',
581             range => '{0}-{1}',
582             },
583             symbol => {
584             decimal => ',',
585             group => '.',
586             },
587             },
588             'es-419' => {
589             pattern => {
590             currency => '¤#,##0.00',
591             },
592             symbol => {
593             decimal => '.',
594             group => ',',
595             },
596             },
597             'es-AR' => {
598             pattern => {
599             currency => '¤ #,##0.00',
600             },
601             symbol => {
602             decimal => ',',
603             group => '.',
604             },
605             },
606             'es-BO' => {
607             symbol => {
608             decimal => ',',
609             group => '.',
610             },
611             },
612             'es-CL' => {
613             pattern => {
614             currency => '¤#,##0.00;¤-#,##0.00',
615             },
616             symbol => {
617             decimal => ',',
618             group => '.',
619             },
620             },
621             'es-CO' => {
622             pattern => {
623             currency => '¤ #,##0.00',
624             percent => '#,##0%',
625             range => 'de {0} a {1}',
626             },
627             symbol => {
628             decimal => ',',
629             group => '.',
630             },
631             },
632             'es-CR' => {
633             symbol => {
634             decimal => ',',
635             group => ' ',
636             },
637             },
638             'es-DO' => {
639             pattern => {
640             percent => '#,##0%',
641             },
642             },
643             'es-EC' => {
644             pattern => {
645             currency => '¤#,##0.00;¤-#,##0.00',
646             },
647             symbol => {
648             decimal => ',',
649             group => '.',
650             },
651             },
652             'es-GQ' => {
653             pattern => {
654             currency => '¤#,##0.00',
655             },
656             },
657             'es-GT' => {
658             pattern => {
659             range => '{0} al {1}',
660             },
661             },
662             'es-MX' => {
663             pattern => {
664             percent => '#,##0%',
665             },
666             },
667             'es-PY' => {
668             pattern => {
669             currency => '¤ #,##0.00;¤ -#,##0.00',
670             },
671             symbol => {
672             decimal => ',',
673             group => '.',
674             },
675             },
676             'es-UY' => {
677             pattern => {
678             currency => '¤ #,##0.00',
679             },
680             symbol => {
681             decimal => ',',
682             group => '.',
683             },
684             },
685             'es-VE' => {
686             pattern => {
687             currency => '¤#,##0.00;¤-#,##0.00',
688             },
689             symbol => {
690             decimal => ',',
691             group => '.',
692             },
693             },
694             et => {
695             pattern => {
696             currency => '#,##0.00 ¤',
697             range => '{0}‒{1}',
698             },
699             symbol => {
700             decimal => ',',
701             group => ' ',
702             minus => '−',
703             },
704             },
705             eu => {
706             pattern => {
707             at_least => '{0}+',
708             currency => '#,##0.00 ¤',
709             percent => '% #,##0',
710             },
711             symbol => {
712             decimal => ',',
713             group => '.',
714             },
715             },
716             ewo => {
717             pattern => {
718             currency => '#,##0.00 ¤',
719             },
720             symbol => {
721             decimal => ',',
722             group => ' ',
723             },
724             },
725             fa => {
726             pattern => {
727             at_least => "\N{LEFT-TO-RIGHT MARK}{0}+\N{LEFT-TO-RIGHT MARK}",
728             currency => "\N{LEFT-TO-RIGHT MARK}¤#,##0.00",
729             range => '{0} تا {1}',
730             },
731             symbol => {
732             decimal => '٫',
733             group => '٬',
734             minus => "\N{LEFT-TO-RIGHT MARK}−",
735             nan => 'ناعدد',
736             percent => '٪',
737             permil => '؉',
738             plus => "\N{LEFT-TO-RIGHT MARK}+\N{LEFT-TO-RIGHT MARK}",
739             },
740             system => {
741             default => 'arabext',
742             },
743             },
744             ff => {
745             pattern => {
746             currency => '#,##0.00 ¤',
747             },
748             symbol => {
749             decimal => ',',
750             group => ' ',
751             },
752             },
753             fi => {
754             pattern => {
755             at_least => 'vähintään {0}',
756             currency => '#,##0.00 ¤',
757             percent => '#,##0 %',
758             range => '{0}‒{1}',
759             },
760             symbol => {
761             decimal => ',',
762             group => ' ',
763             minus => '−',
764             nan => 'epäluku',
765             },
766             },
767             fil => {
768             pattern => {
769             at_least => '{0}+',
770             currency => '¤#,##0.00',
771             range => '{0}-{1}',
772             },
773             },
774             fo => {
775             pattern => {
776             at_least => '{0} ella meira',
777             currency => '#,##0.00 ¤',
778             percent => '#,##0 %',
779             },
780             symbol => {
781             decimal => ',',
782             group => '.',
783             minus => '−',
784             },
785             },
786             fr => {
787             pattern => {
788             at_least => 'au moins {0}',
789             currency => '#,##0.00 ¤',
790             percent => '#,##0 %',
791             },
792             symbol => {
793             decimal => ',',
794             group => ' ',
795             },
796             },
797             'fr-BE' => {
798             symbol => {
799             group => '.',
800             },
801             },
802             'fr-CH' => {
803             pattern => {
804             currency => '¤ #,##0.00;¤-#,##0.00',
805             percent => '#,##0%',
806             },
807             symbol => {
808             decimal => '.',
809             },
810             },
811             'fr-LU' => {
812             symbol => {
813             group => '.',
814             },
815             },
816             'fr-MA' => {
817             symbol => {
818             group => '.',
819             },
820             },
821             fur => {
822             symbol => {
823             decimal => ',',
824             group => '.',
825             },
826             },
827             fy => {
828             pattern => {
829             at_least => '{0}+',
830             currency => '¤ #,##0.00;¤ #,##0.00-',
831             range => '{0}-{1}',
832             },
833             symbol => {
834             decimal => ',',
835             group => '.',
836             },
837             },
838             ga => {
839             pattern => {
840             at_least => '{0}+',
841             currency => '¤#,##0.00',
842             },
843             },
844             gd => {
845             pattern => {
846             at_least => '{0}+',
847             currency => '¤#,##0.00',
848             },
849             },
850             gl => {
851             pattern => {
852             currency => '¤#,##0.00',
853             },
854             symbol => {
855             decimal => ',',
856             group => '.',
857             },
858             },
859             gsw => {
860             pattern => {
861             currency => '#,##0.00 ¤',
862             percent => '#,##0 %',
863             },
864             symbol => {
865             group => '’',
866             minus => '−',
867             },
868             },
869             gu => {
870             pattern => {
871             at_least => '{0}+',
872             currency => '¤#,##,##0.00',
873             decimal => '#,##,##0.###',
874             percent => '#,##,##0%',
875             range => '{0}-{1}',
876             },
877             },
878             guz => {
879             pattern => {
880             currency => '¤#,##0.00',
881             },
882             },
883             gv => {
884             pattern => {
885             currency => '¤#,##0.00',
886             },
887             },
888             haw => {
889             pattern => {
890             currency => '¤#,##0.00',
891             },
892             },
893             he => {
894             pattern => {
895             at_least => '⩾{0}+',
896             currency => '#,##0.00 ¤',
897             },
898             symbol => {
899             minus => "\N{LEFT-TO-RIGHT MARK}-",
900             plus => "\N{LEFT-TO-RIGHT MARK}+",
901             },
902             },
903             hi => {
904             pattern => {
905             at_least => '{0}+',
906             currency => '¤#,##,##0.00',
907             decimal => '#,##,##0.###',
908             percent => '#,##,##0%',
909             },
910             },
911             hr => {
912             pattern => {
913             at_least => '{0}+',
914             currency => '#,##0.00 ¤',
915             },
916             symbol => {
917             decimal => ',',
918             group => '.',
919             },
920             },
921             hsb => {
922             pattern => {
923             at_least => '{0}+',
924             currency => '#,##0.00 ¤',
925             percent => '#,##0 %',
926             },
927             symbol => {
928             decimal => ',',
929             group => '.',
930             },
931             },
932             hu => {
933             pattern => {
934             at_least => '{0}+',
935             currency => '#,##0.00 ¤',
936             },
937             symbol => {
938             decimal => ',',
939             group => ' ',
940             },
941             },
942             hy => {
943             pattern => {
944             at_least => '{0}+',
945             decimal => '#0.###',
946             range => '{0}-{1}',
947             },
948             symbol => {
949             decimal => ',',
950             group => '.',
951             },
952             },
953             id => {
954             pattern => {
955             currency => '¤#,##0.00',
956             },
957             symbol => {
958             decimal => ',',
959             group => '.',
960             },
961             },
962             ig => {
963             pattern => {
964             currency => '¤#,##0.00',
965             },
966             },
967             is => {
968             pattern => {
969             at_least => '{0}+',
970             currency => '#,##0.00 ¤',
971             },
972             symbol => {
973             decimal => ',',
974             group => '.',
975             },
976             },
977             it => {
978             pattern => {
979             currency => '#,##0.00 ¤',
980             range => '{0}-{1}',
981             },
982             symbol => {
983             decimal => ',',
984             group => '.',
985             },
986             },
987             'it-CH' => {
988             pattern => {
989             currency => '¤ #,##0.00;¤-#,##0.00',
990             },
991             symbol => {
992             decimal => '.',
993             group => q['],
994             },
995             },
996             ja => {
997             pattern => {
998             at_least => '{0} 以上',
999             currency => '¤#,##0.00',
1000             range => '{0}~{1}',
1001             },
1002             },
1003             jgo => {
1004             symbol => {
1005             decimal => ',',
1006             group => '.',
1007             },
1008             },
1009             jmc => {
1010             pattern => {
1011             currency => '¤#,##0.00',
1012             },
1013             },
1014             ka => {
1015             pattern => {
1016             at_least => '{0}+',
1017             currency => '#,##0.00 ¤',
1018             percent => '#,##0 %',
1019             range => '{0}-{1}',
1020             },
1021             symbol => {
1022             decimal => ',',
1023             group => ' ',
1024             nan => 'არ არის რიცხვი',
1025             },
1026             },
1027             kab => {
1028             pattern => {
1029             currency => '#,##0.00¤',
1030             },
1031             symbol => {
1032             decimal => ',',
1033             group => ' ',
1034             },
1035             },
1036             kam => {
1037             pattern => {
1038             currency => '¤#,##0.00',
1039             },
1040             },
1041             kde => {
1042             pattern => {
1043             currency => '¤#,##0.00',
1044             },
1045             },
1046             kea => {
1047             pattern => {
1048             at_least => '+{0}',
1049             currency => '#,##0.00 ¤',
1050             },
1051             symbol => {
1052             decimal => ',',
1053             group => ' ',
1054             },
1055             },
1056             khq => {
1057             pattern => {
1058             currency => '#,##0.00¤',
1059             },
1060             symbol => {
1061             group => ' ',
1062             },
1063             },
1064             ki => {
1065             pattern => {
1066             currency => '¤#,##0.00',
1067             },
1068             },
1069             kk => {
1070             pattern => {
1071             at_least => '{0}+',
1072             currency => '#,##0.00 ¤',
1073             },
1074             symbol => {
1075             decimal => ',',
1076             group => ' ',
1077             },
1078             },
1079             kkj => {
1080             symbol => {
1081             decimal => ',',
1082             group => '.',
1083             },
1084             },
1085             kl => {
1086             pattern => {
1087             currency => '¤#,##0.00;¤-#,##0.00',
1088             percent => '#,##0 %',
1089             },
1090             symbol => {
1091             decimal => ',',
1092             group => '.',
1093             },
1094             },
1095             kln => {
1096             pattern => {
1097             currency => '¤#,##0.00',
1098             },
1099             },
1100             km => {
1101             pattern => {
1102             at_least => '{0}+',
1103             currency => '¤#,##0.00',
1104             },
1105             symbol => {
1106             decimal => ',',
1107             group => '.',
1108             },
1109             },
1110             kn => {
1111             pattern => {
1112             at_least => '{0}+',
1113             currency => '¤#,##0.00',
1114             },
1115             },
1116             ko => {
1117             pattern => {
1118             at_least => '{0}+',
1119             currency => '¤#,##0.00',
1120             range => '{0}~{1}',
1121             },
1122             },
1123             kok => {
1124             pattern => {
1125             currency => '¤ #,##,##0.00',
1126             decimal => '#,##,##0.###',
1127             percent => '#,##,##0%',
1128             },
1129             },
1130             ks => {
1131             pattern => {
1132             currency => '¤ #,##,##0.00',
1133             decimal => '#,##,##0.###',
1134             percent => '#,##,##0%',
1135             },
1136             symbol => {
1137             decimal => '٫',
1138             group => '٬',
1139             minus => "\N{LEFT-TO-RIGHT MARK}-\N{LEFT-TO-RIGHT MARK}",
1140             percent => '٪',
1141             permil => '؉',
1142             plus => "\N{LEFT-TO-RIGHT MARK}+\N{LEFT-TO-RIGHT MARK}",
1143             },
1144             system => {
1145             default => 'arabext',
1146             },
1147             },
1148             ksb => {
1149             pattern => {
1150             currency => '#,##0.00¤',
1151             },
1152             },
1153             ksf => {
1154             pattern => {
1155             currency => '#,##0.00 ¤',
1156             },
1157             symbol => {
1158             decimal => ',',
1159             group => ' ',
1160             },
1161             },
1162             ksh => {
1163             pattern => {
1164             currency => '#,##0.00 ¤',
1165             percent => '#,##0 %',
1166             },
1167             symbol => {
1168             decimal => ',',
1169             group => ' ',
1170             minus => '−',
1171             nan => '¤¤¤',
1172             },
1173             },
1174             kw => {
1175             pattern => {
1176             currency => '¤#,##0.00',
1177             },
1178             },
1179             ky => {
1180             pattern => {
1181             at_least => '{0}+',
1182             currency => '#,##0.00 ¤',
1183             },
1184             symbol => {
1185             decimal => ',',
1186             group => ' ',
1187             nan => 'сан эмес',
1188             },
1189             },
1190             lb => {
1191             pattern => {
1192             at_least => '⩾ {0}',
1193             currency => '#,##0.00 ¤',
1194             percent => '#,##0 %',
1195             },
1196             symbol => {
1197             decimal => ',',
1198             group => '.',
1199             },
1200             },
1201             lg => {
1202             pattern => {
1203             currency => '#,##0.00¤',
1204             },
1205             },
1206             ln => {
1207             pattern => {
1208             currency => '#,##0.00 ¤',
1209             },
1210             symbol => {
1211             decimal => ',',
1212             group => '.',
1213             },
1214             },
1215             lo => {
1216             pattern => {
1217             at_least => '{0}+',
1218             currency => '¤#,##0.00;¤-#,##0.00',
1219             },
1220             symbol => {
1221             decimal => ',',
1222             group => '.',
1223             nan => "ບໍ່\N{ZERO WIDTH SPACE}ແມ່ນ\N{ZERO WIDTH SPACE}ໂຕ\N{ZERO WIDTH SPACE}ເລກ",
1224             },
1225             },
1226             lrc => {
1227             symbol => {
1228             decimal => '٫',
1229             group => '٬',
1230             minus => "\N{LEFT-TO-RIGHT MARK}-\N{LEFT-TO-RIGHT MARK}",
1231             percent => '٪',
1232             permil => '؉',
1233             plus => "\N{LEFT-TO-RIGHT MARK}+\N{LEFT-TO-RIGHT MARK}",
1234             },
1235             system => {
1236             default => 'arabext',
1237             },
1238             },
1239             lt => {
1240             pattern => {
1241             currency => '#,##0.00 ¤',
1242             percent => '#,##0 %',
1243             },
1244             symbol => {
1245             decimal => ',',
1246             group => ' ',
1247             minus => '−',
1248             },
1249             },
1250             lu => {
1251             pattern => {
1252             currency => '#,##0.00¤',
1253             },
1254             symbol => {
1255             decimal => ',',
1256             group => '.',
1257             },
1258             },
1259             luo => {
1260             pattern => {
1261             currency => '#,##0.00¤',
1262             },
1263             },
1264             luy => {
1265             pattern => {
1266             currency => '¤#,##0.00;¤- #,##0.00',
1267             },
1268             },
1269             lv => {
1270             pattern => {
1271             at_least => 'vismaz {0}',
1272             currency => '#0.00 ¤',
1273             },
1274             symbol => {
1275             decimal => ',',
1276             group => ' ',
1277             nan => 'nav skaitlis',
1278             },
1279             },
1280             mas => {
1281             pattern => {
1282             currency => '¤#,##0.00',
1283             },
1284             },
1285             mer => {
1286             pattern => {
1287             currency => '¤#,##0.00',
1288             },
1289             },
1290             mfe => {
1291             symbol => {
1292             group => ' ',
1293             },
1294             },
1295             mg => {
1296             pattern => {
1297             currency => '¤#,##0.00',
1298             },
1299             },
1300             mgh => {
1301             symbol => {
1302             decimal => ',',
1303             group => '.',
1304             },
1305             },
1306             mk => {
1307             pattern => {
1308             at_least => '{0}+',
1309             },
1310             symbol => {
1311             decimal => ',',
1312             group => '.',
1313             },
1314             },
1315             ml => {
1316             pattern => {
1317             at_least => '{0}+',
1318             currency => '¤#,##0.00',
1319             decimal => '#,##,##0.###',
1320             range => '{0}-{1}',
1321             },
1322             },
1323             mn => {
1324             pattern => {
1325             at_least => '{0}+',
1326             },
1327             },
1328             mr => {
1329             pattern => {
1330             at_least => '{0}+',
1331             currency => '¤#,##0.00',
1332             decimal => '#,##,##0.###',
1333             },
1334             system => {
1335             default => 'deva',
1336             },
1337             },
1338             ms => {
1339             pattern => {
1340             at_least => '{0}+',
1341             currency => '¤#,##0.00',
1342             },
1343             },
1344             'ms-BN' => {
1345             pattern => {
1346             currency => '¤ #,##0.00',
1347             },
1348             symbol => {
1349             decimal => ',',
1350             group => '.',
1351             },
1352             },
1353             mt => {
1354             pattern => {
1355             currency => '¤#,##0.00',
1356             },
1357             },
1358             mua => {
1359             pattern => {
1360             currency => '¤#,##0.00',
1361             },
1362             symbol => {
1363             decimal => ',',
1364             group => '.',
1365             },
1366             },
1367             my => {
1368             symbol => {
1369             nan => 'ဂဏန်းမဟုတ်သော',
1370             },
1371             system => {
1372             default => 'mymr',
1373             },
1374             },
1375             mzn => {
1376             symbol => {
1377             decimal => '٫',
1378             group => '٬',
1379             minus => "\N{LEFT-TO-RIGHT MARK}-\N{LEFT-TO-RIGHT MARK}",
1380             percent => '٪',
1381             permil => '؉',
1382             plus => "\N{LEFT-TO-RIGHT MARK}+\N{LEFT-TO-RIGHT MARK}",
1383             },
1384             system => {
1385             default => 'arabext',
1386             },
1387             },
1388             naq => {
1389             pattern => {
1390             currency => '¤#,##0.00',
1391             },
1392             },
1393             nb => {
1394             pattern => {
1395             percent => '#,##0 %',
1396             },
1397             symbol => {
1398             decimal => ',',
1399             group => ' ',
1400             minus => '−',
1401             },
1402             },
1403             nd => {
1404             pattern => {
1405             currency => '¤#,##0.00',
1406             },
1407             },
1408             ne => {
1409             pattern => {
1410             at_least => '{0}+',
1411             },
1412             system => {
1413             default => 'deva',
1414             },
1415             },
1416             nl => {
1417             pattern => {
1418             at_least => '{0}+',
1419             currency => '¤ #,##0.00;¤ -#,##0.00',
1420             range => '{0}-{1}',
1421             },
1422             symbol => {
1423             decimal => ',',
1424             group => '.',
1425             },
1426             },
1427             'nl-BE' => {
1428             pattern => {
1429             currency => '#,##0.00 ¤',
1430             },
1431             },
1432             nmg => {
1433             pattern => {
1434             currency => '#,##0.00 ¤',
1435             },
1436             symbol => {
1437             decimal => ',',
1438             group => ' ',
1439             },
1440             },
1441             nn => {
1442             pattern => {
1443             currency => '#,##0.00 ¤',
1444             percent => '#,##0 %',
1445             },
1446             symbol => {
1447             decimal => ',',
1448             group => ' ',
1449             minus => '−',
1450             },
1451             },
1452             nnh => {
1453             symbol => {
1454             decimal => ',',
1455             group => '.',
1456             },
1457             },
1458             nus => {
1459             pattern => {
1460             currency => '¤#,##0.00',
1461             },
1462             },
1463             nyn => {
1464             pattern => {
1465             currency => '¤#,##0.00',
1466             },
1467             },
1468             om => {
1469             pattern => {
1470             currency => '¤#,##0.00',
1471             },
1472             },
1473             or => {
1474             pattern => {
1475             currency => '¤ #,##,##0.00',
1476             decimal => '#,##,##0.###',
1477             percent => '#,##,##0%',
1478             },
1479             },
1480             os => {
1481             symbol => {
1482             decimal => ',',
1483             group => ' ',
1484             nan => 'НН',
1485             },
1486             },
1487             pa => {
1488             pattern => {
1489             at_least => '{0}+',
1490             currency => '¤ #,##,##0.00',
1491             decimal => '#,##,##0.###',
1492             percent => '#,##,##0%',
1493             },
1494             },
1495             'pa-Arab' => {
1496             symbol => {
1497             decimal => '٫',
1498             group => '٬',
1499             minus => "\N{LEFT-TO-RIGHT MARK}-\N{LEFT-TO-RIGHT MARK}",
1500             percent => '٪',
1501             permil => '؉',
1502             plus => "\N{LEFT-TO-RIGHT MARK}+\N{LEFT-TO-RIGHT MARK}",
1503             },
1504             system => {
1505             default => 'arabext',
1506             },
1507             },
1508             pl => {
1509             pattern => {
1510             at_least => '{0}+',
1511             currency => '#,##0.00 ¤',
1512             },
1513             symbol => {
1514             decimal => ',',
1515             group => ' ',
1516             },
1517             },
1518             ps => {
1519             pattern => {
1520             currency => '#,##0.00 ¤',
1521             },
1522             symbol => {
1523             decimal => '٫',
1524             group => '٬',
1525             minus => "\N{LEFT-TO-RIGHT MARK}-\N{LEFT-TO-RIGHT MARK}",
1526             percent => '٪',
1527             permil => '؉',
1528             plus => "\N{LEFT-TO-RIGHT MARK}+\N{LEFT-TO-RIGHT MARK}",
1529             },
1530             system => {
1531             default => 'arabext',
1532             },
1533             },
1534             pt => {
1535             pattern => {
1536             at_least => '+{0}',
1537             currency => '¤#,##0.00',
1538             },
1539             symbol => {
1540             decimal => ',',
1541             group => '.',
1542             },
1543             },
1544             'pt-PT' => {
1545             pattern => {
1546             currency => '#,##0.00 ¤',
1547             range => '{0} - {1}',
1548             },
1549             symbol => {
1550             group => ' ',
1551             },
1552             },
1553             qu => {
1554             pattern => {
1555             percent => '#,##0 %',
1556             },
1557             },
1558             'qu-BO' => {
1559             symbol => {
1560             decimal => ',',
1561             group => '.',
1562             },
1563             },
1564             rm => {
1565             pattern => {
1566             currency => '#,##0.00 ¤',
1567             percent => '#,##0 %',
1568             },
1569             symbol => {
1570             group => '’',
1571             minus => '−',
1572             },
1573             },
1574             rn => {
1575             pattern => {
1576             currency => '#,##0.00¤',
1577             percent => '#,##0 %',
1578             },
1579             symbol => {
1580             decimal => ',',
1581             group => '.',
1582             },
1583             },
1584             ro => {
1585             pattern => {
1586             at_least => '>{0}',
1587             currency => '#,##0.00 ¤',
1588             percent => '#,##0 %',
1589             range => '{0} - {1}',
1590             },
1591             symbol => {
1592             decimal => ',',
1593             group => '.',
1594             },
1595             },
1596             rof => {
1597             pattern => {
1598             currency => '¤#,##0.00',
1599             },
1600             },
1601             ru => {
1602             pattern => {
1603             at_least => '{0}+',
1604             currency => '#,##0.00 ¤',
1605             percent => '#,##0 %',
1606             range => '{0}-{1}',
1607             },
1608             symbol => {
1609             decimal => ',',
1610             group => ' ',
1611             nan => 'не число',
1612             },
1613             },
1614             rw => {
1615             symbol => {
1616             decimal => ',',
1617             group => '.',
1618             },
1619             },
1620             rwk => {
1621             pattern => {
1622             currency => '#,##0.00¤',
1623             },
1624             },
1625             saq => {
1626             pattern => {
1627             currency => '¤#,##0.00',
1628             },
1629             },
1630             sbp => {
1631             pattern => {
1632             currency => '#,##0.00¤',
1633             },
1634             },
1635             se => {
1636             pattern => {
1637             currency => '#,##0.00 ¤',
1638             percent => '#,##0 %',
1639             },
1640             symbol => {
1641             decimal => ',',
1642             group => ' ',
1643             minus => '−',
1644             nan => '¤¤¤',
1645             },
1646             },
1647             seh => {
1648             pattern => {
1649             currency => '#,##0.00¤',
1650             },
1651             symbol => {
1652             decimal => ',',
1653             group => '.',
1654             },
1655             },
1656             ses => {
1657             pattern => {
1658             currency => '#,##0.00¤',
1659             },
1660             symbol => {
1661             group => ' ',
1662             },
1663             },
1664             sg => {
1665             pattern => {
1666             currency => '¤#,##0.00;¤-#,##0.00',
1667             },
1668             symbol => {
1669             decimal => ',',
1670             group => '.',
1671             },
1672             },
1673             shi => {
1674             pattern => {
1675             currency => '#,##0.00¤',
1676             },
1677             symbol => {
1678             decimal => ',',
1679             group => ' ',
1680             },
1681             },
1682             'shi-Latn' => {
1683             pattern => {
1684             currency => '#,##0.00¤',
1685             },
1686             symbol => {
1687             decimal => ',',
1688             group => ' ',
1689             },
1690             },
1691             si => {
1692             pattern => {
1693             at_least => '{0}+',
1694             currency => '¤#,##0.00',
1695             },
1696             },
1697             sk => {
1698             pattern => {
1699             at_least => '{0}+',
1700             currency => '#,##0.00 ¤',
1701             percent => '#,##0 %',
1702             range => '{0} – {1}',
1703             },
1704             symbol => {
1705             decimal => ',',
1706             group => ' ',
1707             },
1708             },
1709             sl => {
1710             pattern => {
1711             currency => '#,##0.00 ¤',
1712             },
1713             symbol => {
1714             decimal => ',',
1715             group => '.',
1716             },
1717             },
1718             smn => {
1719             pattern => {
1720             at_least => 'ucemustáá {0}',
1721             },
1722             symbol => {
1723             nan => 'epiloho',
1724             },
1725             },
1726             sn => {
1727             pattern => {
1728             currency => '¤#,##0.00',
1729             },
1730             },
1731             so => {
1732             pattern => {
1733             currency => '¤#,##0.00',
1734             },
1735             },
1736             sq => {
1737             pattern => {
1738             at_least => '>{0}',
1739             currency => '#,##0.00 ¤',
1740             range => '{0}-{1}',
1741             },
1742             symbol => {
1743             decimal => ',',
1744             group => ' ',
1745             },
1746             },
1747             sr => {
1748             pattern => {
1749             at_least => '{0}+',
1750             currency => '#,##0.00 ¤',
1751             },
1752             symbol => {
1753             decimal => ',',
1754             group => '.',
1755             },
1756             },
1757             'sr-Latn' => {
1758             pattern => {
1759             at_least => '{0}+',
1760             currency => '#,##0.00 ¤',
1761             },
1762             symbol => {
1763             decimal => ',',
1764             group => '.',
1765             },
1766             },
1767             sv => {
1768             pattern => {
1769             currency => '#,##0.00 ¤',
1770             percent => '#,##0 %',
1771             range => '{0}‒{1}',
1772             },
1773             symbol => {
1774             decimal => ',',
1775             group => ' ',
1776             minus => '−',
1777             nan => '¤¤¤',
1778             },
1779             },
1780             sw => {
1781             pattern => {
1782             currency => '¤#,##0.00',
1783             },
1784             },
1785             'sw-CD' => {
1786             symbol => {
1787             decimal => ',',
1788             group => '.',
1789             },
1790             },
1791             ta => {
1792             pattern => {
1793             at_least => '{0}+',
1794             currency => '¤ #,##,##0.00',
1795             decimal => '#,##,##0.###',
1796             percent => '#,##,##0%',
1797             },
1798             },
1799             'ta-MY' => {
1800             pattern => {
1801             currency => '¤ #,##0.00',
1802             decimal => '#,##0.###',
1803             percent => '#,##0%',
1804             },
1805             },
1806             'ta-SG' => {
1807             pattern => {
1808             currency => '¤ #,##0.00',
1809             decimal => '#,##0.###',
1810             percent => '#,##0%',
1811             },
1812             },
1813             te => {
1814             pattern => {
1815             at_least => '{0}+',
1816             currency => '¤#,##,##0.00',
1817             decimal => '#,##,##0.###',
1818             },
1819             },
1820             teo => {
1821             pattern => {
1822             currency => '¤#,##0.00',
1823             },
1824             },
1825             th => {
1826             pattern => {
1827             at_least => '{0}+',
1828             currency => '¤#,##0.00',
1829             range => '{0}-{1}',
1830             },
1831             },
1832             ti => {
1833             pattern => {
1834             currency => '¤#,##0.00',
1835             },
1836             },
1837             tk => {
1838             pattern => {
1839             at_least => '≥{0}',
1840             currency => '#,##0.00 ¤',
1841             percent => '#,##0 %',
1842             },
1843             symbol => {
1844             decimal => ',',
1845             group => ' ',
1846             nan => 'san däl',
1847             },
1848             },
1849             to => {
1850             pattern => {
1851             at_least => '{0}+',
1852             range => '{0}—{1}',
1853             },
1854             symbol => {
1855             nan => 'TF',
1856             },
1857             },
1858             tr => {
1859             pattern => {
1860             at_least => '{0}+',
1861             currency => '#,##0.00 ¤',
1862             percent => '%#,##0',
1863             },
1864             symbol => {
1865             decimal => ',',
1866             group => '.',
1867             },
1868             },
1869             twq => {
1870             pattern => {
1871             currency => '#,##0.00¤',
1872             },
1873             symbol => {
1874             group => ' ',
1875             },
1876             },
1877             tzm => {
1878             pattern => {
1879             currency => '#,##0.00 ¤',
1880             },
1881             symbol => {
1882             decimal => ',',
1883             group => ' ',
1884             },
1885             },
1886             ug => {
1887             pattern => {
1888             at_least => '{0}+',
1889             currency => '¤#,##0.00',
1890             },
1891             },
1892             uk => {
1893             pattern => {
1894             at_least => '{0}+',
1895             currency => '#,##0.00 ¤',
1896             },
1897             symbol => {
1898             decimal => ',',
1899             group => ' ',
1900             },
1901             },
1902             ur => {
1903             pattern => {
1904             currency => '¤ #,##,##0.00',
1905             percent => '#,##,##0%',
1906             },
1907             symbol => {
1908             minus => "\N{LEFT-TO-RIGHT MARK}-",
1909             plus => "\N{LEFT-TO-RIGHT MARK}+",
1910             },
1911             },
1912             'ur-IN' => {
1913             symbol => {
1914             minus => "\N{LEFT-TO-RIGHT MARK}-\N{LEFT-TO-RIGHT MARK}",
1915             plus => "\N{LEFT-TO-RIGHT MARK}+\N{LEFT-TO-RIGHT MARK}",
1916             },
1917             system => {
1918             default => 'arabext',
1919             },
1920             },
1921             uz => {
1922             pattern => {
1923             at_least => '{0}+',
1924             currency => '#,##0.00 ¤',
1925             },
1926             symbol => {
1927             decimal => ',',
1928             group => ' ',
1929             nan => 'haqiqiy son emas',
1930             },
1931             },
1932             'uz-Arab' => {
1933             symbol => {
1934             decimal => '٫',
1935             group => '٬',
1936             minus => "\N{LEFT-TO-RIGHT MARK}-\N{LEFT-TO-RIGHT MARK}",
1937             percent => '٪',
1938             permil => '؉',
1939             plus => "\N{LEFT-TO-RIGHT MARK}+\N{LEFT-TO-RIGHT MARK}",
1940             },
1941             system => {
1942             default => 'arabext',
1943             },
1944             },
1945             'uz-Cyrl' => {
1946             symbol => {
1947             decimal => ',',
1948             group => ' ',
1949             },
1950             },
1951             vai => {
1952             pattern => {
1953             currency => '¤#,##0.00',
1954             },
1955             },
1956             'vai-Latn' => {
1957             pattern => {
1958             currency => '¤#,##0.00',
1959             },
1960             },
1961             vi => {
1962             pattern => {
1963             at_least => '{0}+',
1964             range => '{0}-{1}',
1965             },
1966             symbol => {
1967             decimal => ',',
1968             group => '.',
1969             },
1970             },
1971             vun => {
1972             pattern => {
1973             currency => '¤#,##0.00',
1974             },
1975             },
1976             wae => {
1977             symbol => {
1978             decimal => ',',
1979             group => '’',
1980             },
1981             },
1982             xog => {
1983             pattern => {
1984             currency => '#,##0.00 ¤',
1985             },
1986             },
1987             yav => {
1988             pattern => {
1989             currency => '#,##0.00 ¤',
1990             },
1991             symbol => {
1992             decimal => ',',
1993             group => ' ',
1994             },
1995             },
1996             yo => {
1997             pattern => {
1998             currency => '¤#,##0.00',
1999             },
2000             },
2001             zgh => {
2002             pattern => {
2003             currency => '#,##0.00¤',
2004             percent => '#,##0 %',
2005             },
2006             symbol => {
2007             decimal => ',',
2008             group => ' ',
2009             },
2010             },
2011             zh => {
2012             pattern => {
2013             at_least => '{0}+',
2014             currency => '¤#,##0.00',
2015             range => '{0}-{1}',
2016             },
2017             },
2018             'zh-Hant' => {
2019             pattern => {
2020             at_least => '{0}+',
2021             currency => '¤#,##0.00',
2022             range => '{0}-{1}',
2023             },
2024             symbol => {
2025             nan => '非數值',
2026             },
2027             },
2028             zu => {
2029             pattern => {
2030             at_least => '{0}+',
2031             currency => '¤#,##0.00',
2032             },
2033             },
2034             map { $_ => undef } qw(
2035             af-NA ar-AE ar-BH ar-DJ ar-EG ar-ER ar-IL ar-IQ ar-JO ar-KM ar-KW ar-LB
2036             ar-MR ar-OM ar-PS ar-QA ar-SA ar-SD ar-SO ar-SS ar-SY ar-TD ar-YE
2037             az-Latn bn-IN bo bo-IN bs-Latn ca-AD ca-ES-u-va-valencia ca-FR ca-IT
2038             ckb-IR cu da-GL de-BE de-LU ee-TG el-CY en-001 en-AG en-AI en-AS en-AU
2039             en-BB en-BI en-BM en-BS en-BW en-BZ en-CA en-CC en-CK en-CM en-CX en-CY
2040             en-DG en-DM en-ER en-FJ en-FK en-FM en-GB en-GD en-GG en-GH en-GI en-GM
2041             en-GU en-GY en-HK en-IE en-IL en-IM en-IO en-JE en-JM en-KE en-KI en-KN
2042             en-KY en-LC en-LR en-LS en-MG en-MH en-MO en-MP en-MS en-MT en-MU en-MW
2043             en-MY en-NA en-NF en-NG en-NR en-NU en-NZ en-PG en-PH en-PK en-PN en-PR
2044             en-PW en-RW en-SB en-SC en-SD en-SG en-SH en-SI en-SL en-SS en-SX en-SZ
2045             en-TC en-TK en-TO en-TT en-TV en-TZ en-UG en-UM en-VC en-VG en-VI en-VU
2046             en-WS en-ZM en-ZW es-CU es-EA es-HN es-IC es-NI es-PA es-PE es-PH es-PR
2047             es-SV es-US fa-AF ff-CM ff-GN ff-MR fo-DK fr-BF fr-BI fr-BJ fr-BL fr-CA
2048             fr-CD fr-CF fr-CG fr-CI fr-CM fr-DJ fr-DZ fr-GA fr-GF fr-GN fr-GP fr-GQ
2049             fr-HT fr-KM fr-MC fr-MF fr-MG fr-ML fr-MQ fr-MR fr-MU fr-NC fr-NE fr-PF
2050             fr-PM fr-RE fr-RW fr-SC fr-SN fr-SY fr-TD fr-TG fr-TN fr-VU fr-WF fr-YT
2051             gsw-FR gsw-LI ha ha-GH ha-NE hr-BA ii it-SM ko-KP lag lkt ln-AO ln-CF
2052             ln-CG lrc-IQ mas-TZ mgo ms-SG nb-SJ ne-IN nl-AW nl-BQ nl-CW nl-SR nl-SX
2053             om-KE os-RU pa-Guru prg pt-AO pt-CV pt-GW pt-MO pt-MZ pt-ST pt-TL qu-EC
2054             ro-MD ru-BY ru-KG ru-KZ ru-MD ru-UA sah se-FI se-SE shi-Tfng so-DJ so-ET
2055             so-KE sq-MK sq-XK sr-Cyrl sr-Cyrl-BA sr-Cyrl-ME sr-Cyrl-XK sr-Latn-BA
2056             sr-Latn-ME sr-Latn-XK sv-AX sv-FI sw-KE sw-UG ta-LK teo-KE ti-ER tr-CY
2057             uz-Latn vai-Vaii vo yi yo-BJ zh-Hans zh-Hans-HK zh-Hans-MO zh-Hans-SG
2058             zh-Hant-HK zh-Hant-MO
2059             )
2060             };
2061              
2062             our $PARENT = {
2063             'az-Arab' => 'root',
2064             'az-Cyrl' => 'root',
2065             'bm-Nkoo' => 'root',
2066             'bs-Cyrl' => 'root',
2067             'en-Dsrt' => 'root',
2068             'en-Shaw' => 'root',
2069             'ha-Arab' => 'root',
2070             'iu-Latn' => 'root',
2071             'mn-Mong' => 'root',
2072             'ms-Arab' => 'root',
2073             'pa-Arab' => 'root',
2074             'shi-Latn' => 'root',
2075             'sr-Latn' => 'root',
2076             'uz-Arab' => 'root',
2077             'uz-Cyrl' => 'root',
2078             'vai-Latn' => 'root',
2079             'zh-Hant' => 'root',
2080             'en-150' => 'en-001',
2081             'en-AG' => 'en-001',
2082             'en-AI' => 'en-001',
2083             'en-AU' => 'en-001',
2084             'en-BB' => 'en-001',
2085             'en-BE' => 'en-001',
2086             'en-BM' => 'en-001',
2087             'en-BS' => 'en-001',
2088             'en-BW' => 'en-001',
2089             'en-BZ' => 'en-001',
2090             'en-CA' => 'en-001',
2091             'en-CC' => 'en-001',
2092             'en-CK' => 'en-001',
2093             'en-CM' => 'en-001',
2094             'en-CX' => 'en-001',
2095             'en-CY' => 'en-001',
2096             'en-DG' => 'en-001',
2097             'en-DM' => 'en-001',
2098             'en-ER' => 'en-001',
2099             'en-FJ' => 'en-001',
2100             'en-FK' => 'en-001',
2101             'en-FM' => 'en-001',
2102             'en-GB' => 'en-001',
2103             'en-GD' => 'en-001',
2104             'en-GG' => 'en-001',
2105             'en-GH' => 'en-001',
2106             'en-GI' => 'en-001',
2107             'en-GM' => 'en-001',
2108             'en-GY' => 'en-001',
2109             'en-HK' => 'en-001',
2110             'en-IE' => 'en-001',
2111             'en-IL' => 'en-001',
2112             'en-IM' => 'en-001',
2113             'en-IN' => 'en-001',
2114             'en-IO' => 'en-001',
2115             'en-JE' => 'en-001',
2116             'en-JM' => 'en-001',
2117             'en-KE' => 'en-001',
2118             'en-KI' => 'en-001',
2119             'en-KN' => 'en-001',
2120             'en-KY' => 'en-001',
2121             'en-LC' => 'en-001',
2122             'en-LR' => 'en-001',
2123             'en-LS' => 'en-001',
2124             'en-MG' => 'en-001',
2125             'en-MO' => 'en-001',
2126             'en-MS' => 'en-001',
2127             'en-MT' => 'en-001',
2128             'en-MU' => 'en-001',
2129             'en-MW' => 'en-001',
2130             'en-MY' => 'en-001',
2131             'en-NA' => 'en-001',
2132             'en-NF' => 'en-001',
2133             'en-NG' => 'en-001',
2134             'en-NR' => 'en-001',
2135             'en-NU' => 'en-001',
2136             'en-NZ' => 'en-001',
2137             'en-PG' => 'en-001',
2138             'en-PH' => 'en-001',
2139             'en-PK' => 'en-001',
2140             'en-PN' => 'en-001',
2141             'en-PW' => 'en-001',
2142             'en-RW' => 'en-001',
2143             'en-SB' => 'en-001',
2144             'en-SC' => 'en-001',
2145             'en-SD' => 'en-001',
2146             'en-SG' => 'en-001',
2147             'en-SH' => 'en-001',
2148             'en-SL' => 'en-001',
2149             'en-SS' => 'en-001',
2150             'en-SX' => 'en-001',
2151             'en-SZ' => 'en-001',
2152             'en-TC' => 'en-001',
2153             'en-TK' => 'en-001',
2154             'en-TO' => 'en-001',
2155             'en-TT' => 'en-001',
2156             'en-TV' => 'en-001',
2157             'en-TZ' => 'en-001',
2158             'en-UG' => 'en-001',
2159             'en-VC' => 'en-001',
2160             'en-VG' => 'en-001',
2161             'en-VU' => 'en-001',
2162             'en-WS' => 'en-001',
2163             'en-ZA' => 'en-001',
2164             'en-ZM' => 'en-001',
2165             'en-ZW' => 'en-001',
2166             'en-AT' => 'en-150',
2167             'en-CH' => 'en-150',
2168             'en-DE' => 'en-150',
2169             'en-DK' => 'en-150',
2170             'en-FI' => 'en-150',
2171             'en-NL' => 'en-150',
2172             'en-SE' => 'en-150',
2173             'en-SI' => 'en-150',
2174             'es-AR' => 'es-419',
2175             'es-BO' => 'es-419',
2176             'es-CL' => 'es-419',
2177             'es-CO' => 'es-419',
2178             'es-CR' => 'es-419',
2179             'es-CU' => 'es-419',
2180             'es-DO' => 'es-419',
2181             'es-EC' => 'es-419',
2182             'es-GT' => 'es-419',
2183             'es-HN' => 'es-419',
2184             'es-MX' => 'es-419',
2185             'es-NI' => 'es-419',
2186             'es-PA' => 'es-419',
2187             'es-PE' => 'es-419',
2188             'es-PR' => 'es-419',
2189             'es-PY' => 'es-419',
2190             'es-SV' => 'es-419',
2191             'es-US' => 'es-419',
2192             'es-UY' => 'es-419',
2193             'es-VE' => 'es-419',
2194             'pt-AO' => 'pt-PT',
2195             'pt-CV' => 'pt-PT',
2196             'pt-GW' => 'pt-PT',
2197             'pt-MO' => 'pt-PT',
2198             'pt-MZ' => 'pt-PT',
2199             'pt-ST' => 'pt-PT',
2200             'pt-TL' => 'pt-PT',
2201             'zh-Hant-MO' => 'zh-Hant-HK',
2202             };
2203              
2204             our $CACHE = {
2205             pattern => {
2206             '#0%' => [ '#0', "$N$P" ],
2207             '#,##0%' => [ '#,##0', "$N$P" ],
2208             '#,##0 %' => [ '#,##0', "$N $P" ],
2209             '#,##,##0%' => [ '#,##,##0', "$N$P" ],
2210             '#,##,##0 %' => [ '#,##,##0', "$N $P" ],
2211             '%#,##0' => [ '#,##0', "$P$N" ],
2212             '% #,##0' => [ '#,##0', "$P $N" ],
2213             '#0.00 ¤' => [ '#0.00', "$N $C" ],
2214             '#,##0.00¤' => [ '#,##0.00', "$N$C" ],
2215             '#,##0.00 ¤' => [ '#,##0.00', "$N $C" ],
2216             '#,##,##0.00¤' => [ '#,##,##0.00', "$N$C" ],
2217             '#,##,##0.00¤;(#,##,##0.00¤)' => [ '#,##,##0.00', "$N$C", "($N$C)" ],
2218             '¤#0.00' => [ '#0.00', "$C$N" ],
2219             '¤#,##0.00' => [ '#,##0.00', "$C$N" ],
2220             '¤#,##0.00;¤-#,##0.00' => [ '#,##0.00', "$C$N", "$C$M$N" ],
2221             '¤#,##0.00;¤- #,##0.00' => [ '#,##0.00', "$C$N", "$C$M $N" ],
2222             '¤#,##0.00;(¤#,##0.00)' => [ '#,##0.00', "$C$N", "($C$N)" ],
2223             '¤#,##,##0.00' => [ '#,##,##0.00', "$C$N" ],
2224             '¤ #0.00' => [ '#0.00', "$C $N" ],
2225             '¤ #,##0.00' => [ '#,##0.00', "$C $N" ],
2226             '¤ #,##0.00;¤-#,##0.00' => [ '#,##0.00', "$C $N", "$C$M$N" ],
2227             '¤ #,##0.00;¤ -#,##0.00' => [ '#,##0.00', "$C $N", "$C $M$N" ],
2228             '¤ #,##0.00;¤ #,##0.00-' => [ '#,##0.00', "$C $N", "$C $N$M" ],
2229             '¤ #,##,##0.00' => [ '#,##,##0.00', "$C $N" ],
2230             "\N{LEFT-TO-RIGHT EMBEDDING}#,##0%\N{POP DIRECTIONAL FORMATTING}" => [
2231             '#,##0',
2232             "\N{LEFT-TO-RIGHT EMBEDDING}$N$P\N{POP DIRECTIONAL FORMATTING}"
2233             ],
2234             "¤#,##0.00\N{LEFT-TO-RIGHT MARK}" => [
2235             '#,##0.00',
2236             "$C$N\N{LEFT-TO-RIGHT MARK}"
2237             ],
2238             "\N{LEFT-TO-RIGHT MARK}¤#,##0.00" => [
2239             '#,##0.00',
2240             "\N{LEFT-TO-RIGHT MARK}$C$N"
2241             ],
2242             },
2243             attribute => {
2244             '#0' => {
2245             minimum_integer_digits => 1,
2246             minimum_fraction_digits => 0,
2247             maximum_fraction_digits => 0,
2248             primary_grouping_size => 0,
2249             secondary_grouping_size => 0,
2250             rounding_increment => 0,
2251             },
2252             '#0.00' => {
2253             minimum_integer_digits => 1,
2254             minimum_fraction_digits => 2,
2255             maximum_fraction_digits => 2,
2256             primary_grouping_size => 0,
2257             secondary_grouping_size => 0,
2258             rounding_increment => 0,
2259             },
2260             '#0.###' => {
2261             minimum_integer_digits => 1,
2262             minimum_fraction_digits => 0,
2263             maximum_fraction_digits => 3,
2264             primary_grouping_size => 0,
2265             secondary_grouping_size => 0,
2266             rounding_increment => 0,
2267             },
2268             '#0.######' => {
2269             minimum_integer_digits => 1,
2270             minimum_fraction_digits => 0,
2271             maximum_fraction_digits => 6,
2272             primary_grouping_size => 0,
2273             secondary_grouping_size => 0,
2274             rounding_increment => 0,
2275             },
2276             '#,##0' => {
2277             minimum_integer_digits => 1,
2278             minimum_fraction_digits => 0,
2279             maximum_fraction_digits => 0,
2280             primary_grouping_size => 3,
2281             secondary_grouping_size => 0,
2282             rounding_increment => 0,
2283             },
2284             '#,##0.00' => {
2285             minimum_integer_digits => 1,
2286             minimum_fraction_digits => 2,
2287             maximum_fraction_digits => 2,
2288             primary_grouping_size => 3,
2289             secondary_grouping_size => 0,
2290             rounding_increment => 0,
2291             },
2292             '#,##0.###' => {
2293             minimum_integer_digits => 1,
2294             minimum_fraction_digits => 0,
2295             maximum_fraction_digits => 3,
2296             primary_grouping_size => 3,
2297             secondary_grouping_size => 0,
2298             rounding_increment => 0,
2299             },
2300             '#,##,##0' => {
2301             minimum_integer_digits => 1,
2302             minimum_fraction_digits => 0,
2303             maximum_fraction_digits => 0,
2304             primary_grouping_size => 3,
2305             secondary_grouping_size => 2,
2306             rounding_increment => 0,
2307             },
2308             '#,##,##0.00' => {
2309             minimum_integer_digits => 1,
2310             minimum_fraction_digits => 2,
2311             maximum_fraction_digits => 2,
2312             primary_grouping_size => 3,
2313             secondary_grouping_size => 2,
2314             rounding_increment => 0,
2315             },
2316             '#,##,##0.###' => {
2317             minimum_integer_digits => 1,
2318             minimum_fraction_digits => 0,
2319             maximum_fraction_digits => 3,
2320             primary_grouping_size => 3,
2321             secondary_grouping_size => 2,
2322             rounding_increment => 0,
2323             },
2324             },
2325             };
2326              
2327             1;