diff --git a/src/locale/ku-kmr.js b/src/locale/ku-kmr.js index d713abd266..80e8b57d9c 100644 --- a/src/locale/ku-kmr.js +++ b/src/locale/ku-kmr.js @@ -2,9 +2,9 @@ //! 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 @@ -13,20 +13,20 @@ import moment from '../moment'; 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]; } @@ -35,32 +35,31 @@ function processRelativeTime(num, withoutSuffix, key, isFuture) { // 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) { @@ -83,11 +82,11 @@ export default moment.defineLocale('ku-kmr', { 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: { @@ -106,13 +105,12 @@ export default moment.defineLocale('ku-kmr', { 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); }, diff --git a/src/test/locale/ku-kmr.js b/src/test/locale/ku-kmr.js index f125c82f1d..0bee4c9f65 100644 --- a/src/test/locale/ku-kmr.js +++ b/src/test/locale/ku-kmr.js @@ -5,9 +5,10 @@ localeModule('ku-kmr'); 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( @@ -195,9 +196,10 @@ test('format ordinal', function (assert) { 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( @@ -210,9 +212,10 @@ test('format month', function (assert) { 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( @@ -387,7 +390,11 @@ test('fromNow', function (assert) { '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) { @@ -527,24 +534,24 @@ test('weeks year starting sunday formatted', 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 @@ -552,12 +559,12 @@ test('weekdays strict parsing', function (assert) { // 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 // ); } });