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