Update Moment.js from 2.8.3 to 2.8.4
[mediawiki.git] / resources / lib / moment / locale / br.js
blob1f8dd614f23332de39735d7ff5b482b03b82a132
1 // moment.js locale configuration
2 // locale : breton (br)
3 // author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou
5 (function (factory) {
6     if (typeof define === 'function' && define.amd) {
7         define(['moment'], factory); // AMD
8     } else if (typeof exports === 'object') {
9         module.exports = factory(require('../moment')); // Node
10     } else {
11         factory((typeof global !== 'undefined' ? global : this).moment); // node or other global
12     }
13 }(function (moment) {
14     function relativeTimeWithMutation(number, withoutSuffix, key) {
15         var format = {
16             'mm': 'munutenn',
17             'MM': 'miz',
18             'dd': 'devezh'
19         };
20         return number + ' ' + mutation(format[key], number);
21     }
23     function specialMutationForYears(number) {
24         switch (lastNumber(number)) {
25         case 1:
26         case 3:
27         case 4:
28         case 5:
29         case 9:
30             return number + ' bloaz';
31         default:
32             return number + ' vloaz';
33         }
34     }
36     function lastNumber(number) {
37         if (number > 9) {
38             return lastNumber(number % 10);
39         }
40         return number;
41     }
43     function mutation(text, number) {
44         if (number === 2) {
45             return softMutation(text);
46         }
47         return text;
48     }
50     function softMutation(text) {
51         var mutationTable = {
52             'm': 'v',
53             'b': 'v',
54             'd': 'z'
55         };
56         if (mutationTable[text.charAt(0)] === undefined) {
57             return text;
58         }
59         return mutationTable[text.charAt(0)] + text.substring(1);
60     }
62     return moment.defineLocale('br', {
63         months : 'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),
64         monthsShort : 'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),
65         weekdays : 'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn'.split('_'),
66         weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),
67         weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),
68         longDateFormat : {
69             LT : 'h[e]mm A',
70             LTS : 'h[e]mm:ss A',
71             L : 'DD/MM/YYYY',
72             LL : 'D [a viz] MMMM YYYY',
73             LLL : 'D [a viz] MMMM YYYY LT',
74             LLLL : 'dddd, D [a viz] MMMM YYYY LT'
75         },
76         calendar : {
77             sameDay : '[Hiziv da] LT',
78             nextDay : '[Warc\'hoazh da] LT',
79             nextWeek : 'dddd [da] LT',
80             lastDay : '[Dec\'h da] LT',
81             lastWeek : 'dddd [paset da] LT',
82             sameElse : 'L'
83         },
84         relativeTime : {
85             future : 'a-benn %s',
86             past : '%s \'zo',
87             s : 'un nebeud segondennoù',
88             m : 'ur vunutenn',
89             mm : relativeTimeWithMutation,
90             h : 'un eur',
91             hh : '%d eur',
92             d : 'un devezh',
93             dd : relativeTimeWithMutation,
94             M : 'ur miz',
95             MM : relativeTimeWithMutation,
96             y : 'ur bloaz',
97             yy : specialMutationForYears
98         },
99         ordinalParse: /\d{1,2}(añ|vet)/,
100         ordinal : function (number) {
101             var output = (number === 1) ? 'añ' : 'vet';
102             return number + output;
103         },
104         week : {
105             dow : 1, // Monday is the first day of the week.
106             doy : 4  // The week that contains Jan 4th is the first week of the year.
107         }
108     });
109 }));