//! locale : Northern Kurdish [ku-kmr]
//! authors : Mazlum Özdogan : https://github.com/mergehez
-// All rules except for month names are according to
+// All rules except for month names are according to
// the spelling rules which are defined in the book 'Rêbera Rastnivîsînê' from Komxebata Kurmancîyê.
-// Komxebata Kurmancîyê is a work group that studied different uses in Kurdish language (Kurmanji/Northern Kurdish),
+// Komxebata Kurmancîyê is a work group that studied different uses in Kurdish language (Kurmanji/Northern Kurdish),
// chose one of alternatives as standard and publish them via their book.
// There are 18 Kurdish linguists in the group.
// The group was formed by Mesopotamia Foundation
function processRelativeTime(num, withoutSuffix, key, isFuture) {
var format = {
- s: ['çend sanîye', 'çend sanîyeyan', 'çend sanîyeyên'],
- ss: [num + ' sanîye', num + ' sanîyeyan', 'di ' + num + ' sanîyeyan de'],
- m: ['deqîqeyek', 'deqîqeyekê', 'deqîqeyeke'],
- mm: [num + ' deqîqe', num + ' deqîqeyan', 'di ' + num + ' deqîqeyan de'],
- h: ['saetek', 'saetekê', 'saeteke'],
- hh: [num + ' saet', num + ' saetan', 'di ' + num + ' saetan de'],
- d: ['rojek', 'rojekê', 'rojeke'],
- dd: [num + ' roj', num + ' rojan', 'di ' + num + ' rojan de'],
- w: ['hefteyek', 'hefteyekê', 'hefteyeke'],
- ww: [num + ' hefte', num + ' hefteyan', 'di ' + num + ' hefteyan de'],
- M: ['mehek', 'mehekê', 'meheke'],
- MM: [num + ' meh', num + ' mehan', 'di ' + num + ' mehan de'],
- y: ['salek', 'salekê', 'saleke'],
- yy: [num + ' sal', num + ' salan', 'di ' + num + ' salan de'],
+ s: ['çend sanîye', 'çend sanîyeyan'],
+ ss: [num + ' sanîye', num + ' sanîyeyan'],
+ m: ['deqîqeyek', 'deqîqeyekê'],
+ mm: [num + ' deqîqe', num + ' deqîqeyan'],
+ h: ['saetek', 'saetekê'],
+ hh: [num + ' saet', num + ' saetan'],
+ d: ['rojek', 'rojekê'],
+ dd: [num + ' roj', num + ' rojan'],
+ w: ['hefteyek', 'hefteyekê'],
+ ww: [num + ' hefte', num + ' hefteyan'],
+ M: ['mehek', 'mehekê'],
+ MM: [num + ' meh', num + ' mehan'],
+ y: ['salek', 'salekê'],
+ yy: [num + ' sal', num + ' salan'],
};
return withoutSuffix ? format[key][0] : format[key][1];
}
// num = parseInt(num.split(':')[0]);
// else
// num = parseInt(num);
-// return num == 0 || num % 10 == 1 ? 'ê'
-// : (num > 10 && num % 10 == 0 ? 'î' : 'an');
+// return num == 0 || num % 10 == 1 ? 'ê'
+// : (num > 10 && num % 10 == 0 ? 'î' : 'an');
// }
function ezafeNumSuffix(num) {
num = '' + num;
var l = num.substring(num.length - 1),
ll = num.length > 1 ? num.substring(num.length - 2) : '';
- if (!(ll == 12 || ll == 13) && (l == '2' || l == '3' || ll == '50' || l == '70' || l == '80'))
+ if (
+ !(ll == 12 || ll == 13) &&
+ (l == '2' || l == '3' || ll == '50' || l == '70' || l == '80')
+ )
return 'yê';
return 'ê';
}
export default moment.defineLocale('ku-kmr', {
- // According to the spelling rules defined by the work group of Weqfa Mezopotamyayê (Mesopotamia Foundation)
+ // According to the spelling rules defined by the work group of Weqfa Mezopotamyayê (Mesopotamia Foundation)
// this should be: 'Kanûna Paşîn_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Çirîya Pêşîn_Çirîya Paşîn_Kanûna Pêşîn'
// But the names below are more well known and handy
months: 'Rêbendan_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_Îlon_Cotmeh_Mijdar_Berfanbar'.split(
'_'
),
- monthsShort: 'Rêb_Sib_Ada_Nîs_Gul_Hez_Tîr_Teb_Îlo_Cot_Mij_Ber'.split(
- '_'
- ),
+ monthsShort: 'Rêb_Sib_Ada_Nîs_Gul_Hez_Tîr_Teb_Îlo_Cot_Mij_Ber'.split('_'),
monthsParseExact: true,
- weekdays: 'Yekşem_Duşem_Sêşem_Çarşem_Pêncşem_În_Şemî'.split(
- '_'
- ),
+ weekdays: 'Yekşem_Duşem_Sêşem_Çarşem_Pêncşem_În_Şemî'.split('_'),
weekdaysShort: 'Yek_Du_Sê_Çar_Pên_În_Şem'.split('_'),
weekdaysMin: 'Ye_Du_Sê_Ça_Pê_În_Şe'.split('_'),
meridiem: function (hours, minutes, isLower) {
llll: 'ddd[.], Do MMM[.] YYYY[an] HH:mm',
},
calendar: {
- sameDay: function (h) { return '[Îro di saet] LT [de]'; },
- nextDay: function (h) { return '[Sibê di saet] LT [de]'; },
- nextWeek: function (h) { return 'dddd [di saet] LT [de]'; },
- lastDay: function () { return '[Duh di saet] LT [de]'; },
- lastWeek: function () { return 'dddd[a borî di saet] LT [de]'; },
+ sameDay: '[Îro di saet] LT [de]',
+ nextDay: '[Sibê di saet] LT [de]',
+ nextWeek: 'dddd [di saet] LT [de]',
+ lastDay: '[Duh di saet] LT [de]',
+ lastWeek: 'dddd[a borî di saet] LT [de]',
sameElse: 'L',
},
relativeTime: {
M: processRelativeTime,
MM: processRelativeTime,
y: processRelativeTime,
- yy: processRelativeTime
+ yy: processRelativeTime,
},
dayOfMonthOrdinalParse: /\d{1,2}(?:yê|ê|\.)/,
ordinal: (num, period) => {
let p = period.toLowerCase();
- if (p.includes('w') || p.includes('m'))
- return num + '.';
+ if (p.includes('w') || p.includes('m')) return num + '.';
return num + ezafeNumSuffix(num);
},
test('parse', function (assert) {
var i,
- tests = 'Rêbendan Rêb_Sibat Sib_Adar Ada_Nîsan Nîs_Gulan Gul_Hezîran Hez_Tîrmeh Tîr_Tebax Teb_Îlon Îlo_Cotmeh Cot_Mijdar Mij_Berfanbar Ber'.split(
- '_'
- );
+ tests =
+ 'Rêbendan Rêb_Sibat Sib_Adar Ada_Nîsan Nîs_Gulan Gul_Hezîran Hez_Tîrmeh Tîr_Tebax Teb_Îlon Îlo_Cotmeh Cot_Mijdar Mij_Berfanbar Ber'.split(
+ '_'
+ );
function equalTest(input, mmm, i) {
assert.equal(
test('format month', function (assert) {
var i,
- expected = 'Rêbendan Rêb_Sibat Sib_Adar Ada_Nîsan Nîs_Gulan Gul_Hezîran Hez_Tîrmeh Tîr_Tebax Teb_Îlon Îlo_Cotmeh Cot_Mijdar Mij_Berfanbar Ber'.split(
- '_'
- );
+ expected =
+ 'Rêbendan Rêb_Sibat Sib_Adar Ada_Nîsan Nîs_Gulan Gul_Hezîran Hez_Tîrmeh Tîr_Tebax Teb_Îlon Îlo_Cotmeh Cot_Mijdar Mij_Berfanbar Ber'.split(
+ '_'
+ );
for (i = 0; i < expected.length; i++) {
assert.equal(
test('format week', function (assert) {
var i,
- expected = 'Yekşem Yek Ye_Duşem Du Du_Sêşem Sê Sê_Çarşem Çar Ça_Pêncşem Pên Pê_În În În_Şemî Şem Şe'.split(
- '_'
- );
+ expected =
+ 'Yekşem Yek Ye_Duşem Du Du_Sêşem Sê Sê_Çarşem Çar Ça_Pêncşem Pên Pê_În În În_Şemî Şem Şe'.split(
+ '_'
+ );
for (i = 0; i < expected.length; i++) {
assert.equal(
'di çend sanîyeyan de',
'in a few seconds'
);
- assert.equal(moment().add({ d: 5 }).fromNow(), 'di 5 rojan de', 'in 5 days');
+ assert.equal(
+ moment().add({ d: 5 }).fromNow(),
+ 'di 5 rojan de',
+ 'in 5 days'
+ );
});
test('calendar day', function (assert) {
test('weekdays strict parsing', function (assert) {
var m = moment('2015-01-01T12', moment.ISO_8601, true),
- kuKmrLocale = moment.localeData('ku-kmr'),
+ locale = moment.localeData('ku-kmr'),
i;
for (i = 0; i < 7; ++i) {
assert.equal(
- moment(kuKmrLocale.weekdays(m.day(i), ''), 'dddd', true).isValid(),
+ moment(locale.weekdays(m.day(i), ''), 'dddd', true).isValid(),
true,
- 'parse weekday ' + i + ', val from moment: ' + m.day(i) + " => " + moment(kuKmrLocale.weekdays(m.day(i), ''), 'dddd', true)
+ 'parse weekday ' + i
);
assert.equal(
- moment(kuKmrLocale.weekdaysShort(m.day(i), ''), 'ddd', true).isValid(),
+ moment(locale.weekdaysShort(m.day(i), ''), 'ddd', true).isValid(),
true,
- 'parse short weekday ' + i + ', val from moment: ' + m.day(i) + " => " + moment(kuKmrLocale.weekdaysShort(m.day(i), ''), 'ddd', true)
+ 'parse short weekday ' + i
);
assert.equal(
- moment(kuKmrLocale.weekdaysMin(m.day(i), ''), 'dd', true).isValid(),
+ moment(locale.weekdaysMin(m.day(i), ''), 'dd', true).isValid(),
true,
- 'parse min weekday ' + i + ', val from moment: ' + m.day(i) + " => " + moment(kuKmrLocale.weekdaysMin(m.day(i), ''), 'dd', true)
+ 'parse min weekday ' + i
);
// negative tests
// assert.equal(
// moment(kuKmrLocale.weekdaysMin(m.day(i), ''), 'ddd', true).isValid(),
// false,
- // 'negative parse short weekday ' + i + ', val from moment: ' + m.day(i) + " => " + moment(kuKmrLocale.weekdaysMin(m.day(i), ''), 'ddd', true)
+ // 'negative parse short weekday ' + i
// );
// assert.equal(
// moment(kuKmrLocale.weekdaysShort(m.day(i), ''), 'dd', true).isValid(),
// false,
- // 'negative parse min weekday ' + i + ', val from moment: ' + m.day(i) + " => " + moment(kuKmrLocale.weekdaysShort(m.day(i), ''), 'dd', true)
+ // 'negative parse min weekday ' + i
// );
}
});