diff --git a/demo/src/app/components/+datepicker/demo-datepicker.module.ts b/demo/src/app/components/+datepicker/demo-datepicker.module.ts index c78731c709..d5025088c7 100644 --- a/demo/src/app/components/+datepicker/demo-datepicker.module.ts +++ b/demo/src/app/components/+datepicker/demo-datepicker.module.ts @@ -7,9 +7,8 @@ import { defineLocale, LocaleData } from 'ngx-bootstrap/chronos'; import { BsDatepickerModule, DatepickerModule } from 'ngx-bootstrap/datepicker'; import { arLocale, csLocale, daLocale, deLocale, enGbLocale, esDoLocale, esLocale, esUsLocale, frLocale, heLocale, hiLocale, - fiLocale, glLocale, - huLocale, idLocale, itLocale, jaLocale, koLocale, mnLocale, nbLocale, nlBeLocale, nlLocale, plLocale, ptBrLocale, - ruLocale, roLocale, skLocale, slLocale, svLocale, thLocale, trLocale, zhCnLocale + fiLocale, glLocale, huLocale, idLocale, itLocale, jaLocale, koLocale, ltLocale, mnLocale, nbLocale, nlBeLocale, + nlLocale, plLocale, ptBrLocale, ruLocale, roLocale, skLocale, slLocale, svLocale, thLocale, trLocale, zhCnLocale } from 'ngx-bootstrap/locale'; import { TabsModule } from 'ngx-bootstrap/tabs'; @@ -20,9 +19,8 @@ import { DEMO_COMPONENTS } from './demos'; const locales = [ arLocale, csLocale, daLocale, deLocale, enGbLocale, esDoLocale, esLocale, esUsLocale, frLocale, heLocale, hiLocale, - fiLocale, glLocale, - huLocale, idLocale, itLocale, jaLocale, koLocale, mnLocale, nbLocale, nlBeLocale, nlLocale, plLocale, ptBrLocale, - ruLocale, roLocale, skLocale, slLocale, svLocale, thLocale, trLocale, zhCnLocale + fiLocale, glLocale, huLocale, idLocale, itLocale, jaLocale, koLocale, ltLocale, mnLocale, nbLocale, nlBeLocale, + nlLocale, plLocale, ptBrLocale, ruLocale, roLocale, skLocale, slLocale, svLocale, thLocale, trLocale, zhCnLocale ]; locales.forEach((locale: LocaleData) => defineLocale(locale.abbr, locale)); diff --git a/src/chronos/i18n/lt.ts b/src/chronos/i18n/lt.ts new file mode 100644 index 0000000000..79b64163ff --- /dev/null +++ b/src/chronos/i18n/lt.ts @@ -0,0 +1,118 @@ +// tslint:disable:comment-format binary-expression-operand-order max-line-length +// tslint:disable:no-bitwise prefer-template cyclomatic-complexity +// tslint:disable:no-shadowed-variable switch-default prefer-const +// tslint:disable:one-variable-per-declaration newline-before-return + +import { LocaleData } from '../locale/locale.class'; +import { getMonth } from '../utils/date-getters'; +import { getDayOfWeek } from '../units/day-of-week'; + +//! moment.js locale configuration +//! locale : Lithuanian [lt] +//! author : Stanislavas Guk : https://github.com/ixoster + +const units = { + ss : 'sekundė_sekundžių_sekundes', + m : 'minutė_minutės_minutę', + mm: 'minutės_minučių_minutes', + h : 'valanda_valandos_valandą', + hh: 'valandos_valandų_valandas', + d : 'diena_dienos_dieną', + dd: 'dienos_dienų_dienas', + M : 'mėnuo_mėnesio_mėnesį', + MM: 'mėnesiai_mėnesių_mėnesius', + y : 'metai_metų_metus', + yy: 'metai_metų_metus' +}; +function translateSeconds(num: number, withoutSuffix: boolean, key: string, isFuture: boolean) { + if (withoutSuffix) { + return 'kelios sekundės'; + } else { + return isFuture ? 'kelių sekundžių' : 'kelias sekundes'; + } +} +function translateSingular(num: number, withoutSuffix: boolean, key: string, isFuture: boolean) { + return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]); +} +function special(num: number) { + return num % 10 === 0 || (num > 10 && num < 20); +} +function forms(key: string) { + return units[key].split('_'); +} +function translate(num: number, withoutSuffix: boolean, key: string, isFuture: boolean) { + let result = num + ' '; + if (num === 1) { + return result + translateSingular(num, withoutSuffix, key[0], isFuture); + } else if (withoutSuffix) { + return result + (special(num) ? forms(key)[1] : forms(key)[0]); + } else { + if (isFuture) { + return result + forms(key)[1]; + } else { + return result + (special(num) ? forms(key)[1] : forms(key)[2]); + } + } +} + +export const ltLocale: LocaleData = { + abbr: 'lt', + months : { + format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'), + standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'), + isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/ + }, + monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'), + weekdays : { + format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'), + standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'), + isFormat: /dddd HH:mm/ + }, + weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'), + weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'), + weekdaysParseExact : true, + longDateFormat : { + LT : 'HH:mm', + LTS : 'HH:mm:ss', + L : 'YYYY-MM-DD', + LL : 'YYYY [m.] MMMM D [d.]', + LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]', + LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]', + l : 'YYYY-MM-DD', + ll : 'YYYY [m.] MMMM D [d.]', + lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]', + llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]' + }, + calendar : { + sameDay : '[Šiandien] LT', + nextDay : '[Rytoj] LT', + nextWeek : 'dddd LT', + lastDay : '[Vakar] LT', + lastWeek : '[Praėjusį] dddd LT', + sameElse : 'L' + }, + relativeTime : { + future : 'po %s', + past : 'prieš %s', + s : translateSeconds, + ss : translate, + m : translateSingular, + mm : translate, + h : translateSingular, + hh : translate, + d : translateSingular, + dd : translate, + M : translateSingular, + MM : translate, + y : translateSingular, + yy : translate + }, + dayOfMonthOrdinalParse: /\d{1,2}-oji/, + ordinal(num) { + return num + '-oji'; + }, + week : { + dow : 1, // Monday is the first day of the week. + doy : 4 // The week that contains Jan 4th is the first week of the year. + } +}; diff --git a/src/chronos/public_api.ts b/src/chronos/public_api.ts index a06016f86f..34d38952d7 100644 --- a/src/chronos/public_api.ts +++ b/src/chronos/public_api.ts @@ -51,6 +51,7 @@ export { idLocale } from './i18n/id'; export { itLocale } from './i18n/it'; export { jaLocale } from './i18n/ja'; export { koLocale } from './i18n/ko'; +export { ltLocale } from './i18n/lt'; export { mnLocale } from './i18n/mn'; export { nbLocale } from './i18n/nb'; export { nlLocale } from './i18n/nl'; diff --git a/src/chronos/test/locale/lt.spec.ts b/src/chronos/test/locale/lt.spec.ts new file mode 100644 index 0000000000..f10105aad2 --- /dev/null +++ b/src/chronos/test/locale/lt.spec.ts @@ -0,0 +1,238 @@ +// tslint:disable:max-line-length max-file-line-count prefer-const forin prefer-template one-variable-per-declaration newline-before-return +// tslint:disable:binary-expression-operand-order comment-format one-line no-var-keyword object-literal-shorthand +// tslint:disable:variable-name no-shadowed-variable + +import { assertEq, assertDeepEq } from '../test-helpers'; +import { moment } from '../chain'; +import { ltLocale } from '../../i18n/lt'; + +// localeModule('en'); +describe('locale: lt', () => { + beforeAll(() => { + moment.locale('lt', ltLocale); + }); + + afterAll(() => { + moment.locale('en'); + }); + + // localeModule('lt'); + + it('parse', function () { + var _tests = 'sausis sau_vasaris vas_kovas kov_balandis bal_gegužė geg_birželis bir_liepa lie_rugpjūtis rgp_rugsėjis rgs_spalis spa_lapkritis lap_gruodis grd'.split('_'), i; + function equalTest(input, mmm, i) { + assertEq(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1)); + } + + let tests: string[][] = []; + for (i = 0; i < 12; i++) { + tests[i] = _tests[i].split(' '); + equalTest(tests[i][0], 'MMM', i); + equalTest(tests[i][1], 'MMM', i); + equalTest(tests[i][0], 'MMMM', i); + equalTest(tests[i][1], 'MMMM', i); + equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i); + equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i); + equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i); + equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i); + } + }); + + it('format', function () { + var a = [ + ['dddd, Do MMMM YYYY, h:mm:ss a', 'sekmadienis, 14-oji vasario 2010, 3:25:50 pm'], + ['ddd, hA', 'Sek, 3PM'], + ['M Mo MM MMMM MMM', '2 2-oji 02 vasaris vas'], + ['YYYY YY', '2010 10'], + ['D Do DD', '14 14-oji 14'], + ['d do dddd ddd dd', '0 0-oji sekmadienis Sek S'], + ['DDD DDDo DDDD', '45 45-oji 045'], + ['w wo ww', '6 6-oji 06'], + ['h hh', '3 03'], + ['H HH', '15 15'], + ['m mm', '25 25'], + ['s ss', '50 50'], + ['a A', 'pm PM'], + ['DDDo [metų diena]', '45-oji metų diena'], + ['LTS', '15:25:50'], + ['L', '2010-02-14'], + ['LL', '2010 m. vasario 14 d.'], + ['LLL', '2010 m. vasario 14 d., 15:25 val.'], + ['LLLL', '2010 m. vasario 14 d., sekmadienis, 15:25 val.'], + ['l', '2010-02-14'], + ['ll', '2010 m. vasario 14 d.'], + ['lll', '2010 m. vasario 14 d., 15:25 val.'], + ['llll', '2010 m. vasario 14 d., Sek, 15:25 val.'] + ], + b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)), + i; + for (i = 0; i < a.length; i++) { + assertEq(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]); + } + }); + + it('format ordinal', function () { + assertEq(moment([2011, 0, 1]).format('DDDo'), '1-oji', '1-oji'); + assertEq(moment([2011, 0, 2]).format('DDDo'), '2-oji', '2-oji'); + assertEq(moment([2011, 0, 3]).format('DDDo'), '3-oji', '3-oji'); + assertEq(moment([2011, 0, 4]).format('DDDo'), '4-oji', '4-oji'); + assertEq(moment([2011, 0, 5]).format('DDDo'), '5-oji', '5-oji'); + assertEq(moment([2011, 0, 6]).format('DDDo'), '6-oji', '6-oji'); + assertEq(moment([2011, 0, 7]).format('DDDo'), '7-oji', '7-oji'); + assertEq(moment([2011, 0, 8]).format('DDDo'), '8-oji', '8-oji'); + assertEq(moment([2011, 0, 9]).format('DDDo'), '9-oji', '9-oji'); + assertEq(moment([2011, 0, 10]).format('DDDo'), '10-oji', '10-oji'); + + assertEq(moment([2011, 0, 11]).format('DDDo'), '11-oji', '11-oji'); + assertEq(moment([2011, 0, 12]).format('DDDo'), '12-oji', '12-oji'); + assertEq(moment([2011, 0, 13]).format('DDDo'), '13-oji', '13-oji'); + assertEq(moment([2011, 0, 14]).format('DDDo'), '14-oji', '14-oji'); + assertEq(moment([2011, 0, 15]).format('DDDo'), '15-oji', '15-oji'); + assertEq(moment([2011, 0, 16]).format('DDDo'), '16-oji', '16-oji'); + assertEq(moment([2011, 0, 17]).format('DDDo'), '17-oji', '17-oji'); + assertEq(moment([2011, 0, 18]).format('DDDo'), '18-oji', '18-oji'); + assertEq(moment([2011, 0, 19]).format('DDDo'), '19-oji', '19-oji'); + assertEq(moment([2011, 0, 20]).format('DDDo'), '20-oji', '20-oji'); + + assertEq(moment([2011, 0, 21]).format('DDDo'), '21-oji', '21-oji'); + assertEq(moment([2011, 0, 22]).format('DDDo'), '22-oji', '22-oji'); + assertEq(moment([2011, 0, 23]).format('DDDo'), '23-oji', '23-oji'); + assertEq(moment([2011, 0, 24]).format('DDDo'), '24-oji', '24-oji'); + assertEq(moment([2011, 0, 25]).format('DDDo'), '25-oji', '25-oji'); + assertEq(moment([2011, 0, 26]).format('DDDo'), '26-oji', '26-oji'); + assertEq(moment([2011, 0, 27]).format('DDDo'), '27-oji', '27-oji'); + assertEq(moment([2011, 0, 28]).format('DDDo'), '28-oji', '28-oji'); + assertEq(moment([2011, 0, 29]).format('DDDo'), '29-oji', '29-oji'); + assertEq(moment([2011, 0, 30]).format('DDDo'), '30-oji', '30-oji'); + + assertEq(moment([2011, 0, 31]).format('DDDo'), '31-oji', '31-oji'); + }); + + it('format month', function () { + var expected = 'sausis sau_vasaris vas_kovas kov_balandis bal_gegužė geg_birželis bir_liepa lie_rugpjūtis rgp_rugsėjis rgs_spalis spa_lapkritis lap_gruodis grd'.split('_'), i; + for (i = 0; i < expected.length; i++) { + assertEq(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]); + } + }); + + it('format week', function () { + var expected = 'sekmadienis Sek S_pirmadienis Pir P_antradienis Ant A_trečiadienis Tre T_ketvirtadienis Ket K_penktadienis Pen Pn_šeštadienis Šeš Š'.split('_'), i; + for (i = 0; i < expected.length; i++) { + assertEq(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]); + } + }); + + it('from', function () { + var start = moment([2007, 1, 28]); + assertEq(start.from(moment([2007, 1, 28]).add({s: 44}), true), 'kelios sekundės', '44 seconds = seconds'); + assertEq(start.from(moment([2007, 1, 28]).add({s: 45}), true), 'minutė', '45 seconds = a minute'); + assertEq(start.from(moment([2007, 1, 28]).add({s: 89}), true), 'minutė', '89 seconds = a minute'); + assertEq(start.from(moment([2007, 1, 28]).add({s: 90}), true), '2 minutės', '90 seconds = 2 minutes'); + assertEq(start.from(moment([2007, 1, 28]).add({m: 10}), true), '10 minučių', '10 minutes = 10 minutes'); + assertEq(start.from(moment([2007, 1, 28]).add({m: 11}), true), '11 minučių', '11 minutes = 11 minutes'); + assertEq(start.from(moment([2007, 1, 28]).add({m: 19}), true), '19 minučių', '19 minutes = 19 minutes'); + assertEq(start.from(moment([2007, 1, 28]).add({m: 20}), true), '20 minučių', '20 minutes = 20 minutes'); + assertEq(start.from(moment([2007, 1, 28]).add({m: 44}), true), '44 minutės', '44 minutes = 44 minutes'); + assertEq(start.from(moment([2007, 1, 28]).add({m: 45}), true), 'valanda', '45 minutes = an hour'); + assertEq(start.from(moment([2007, 1, 28]).add({m: 89}), true), 'valanda', '89 minutes = an hour'); + assertEq(start.from(moment([2007, 1, 28]).add({m: 90}), true), '2 valandos', '90 minutes = 2 hours'); + assertEq(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 valandos', '5 hours = 5 hours'); + assertEq(start.from(moment([2007, 1, 28]).add({h: 10}), true), '10 valandų', '10 hours = 10 hours'); + assertEq(start.from(moment([2007, 1, 28]).add({h: 21}), true), '21 valandos', '21 hours = 21 hours'); + assertEq(start.from(moment([2007, 1, 28]).add({h: 22}), true), 'diena', '22 hours = a day'); + assertEq(start.from(moment([2007, 1, 28]).add({h: 35}), true), 'diena', '35 hours = a day'); + assertEq(start.from(moment([2007, 1, 28]).add({h: 36}), true), '2 dienos', '36 hours = 2 days'); + assertEq(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'diena', '1 day = a day'); + assertEq(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 dienos', '5 days = 5 days'); + assertEq(start.from(moment([2007, 1, 28]).add({d: 10}), true), '10 dienų', '10 days = 10 days'); + assertEq(start.from(moment([2007, 1, 28]).add({d: 25}), true), '25 dienos', '25 days = 25 days'); + assertEq(start.from(moment([2007, 1, 28]).add({d: 26}), true), 'mėnuo', '26 days = a month'); + assertEq(start.from(moment([2007, 1, 28]).add({d: 30}), true), 'mėnuo', '30 days = a month'); + assertEq(start.from(moment([2007, 1, 28]).add({d: 43}), true), 'mėnuo', '43 days = a month'); + assertEq(start.from(moment([2007, 1, 28]).add({d: 46}), true), '2 mėnesiai', '46 days = 2 months'); + assertEq(start.from(moment([2007, 1, 28]).add({d: 74}), true), '2 mėnesiai', '75 days = 2 months'); + assertEq(start.from(moment([2007, 1, 28]).add({d: 76}), true), '3 mėnesiai', '76 days = 3 months'); + assertEq(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'mėnuo', '1 month = a month'); + assertEq(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 mėnesiai', '5 months = 5 months'); + assertEq(start.from(moment([2007, 1, 28]).add({M: 10}), true), '10 mėnesių', '10 months = 10 months'); + assertEq(start.from(moment([2007, 1, 28]).add({d: 345}), true), 'metai', '345 days = a year'); + assertEq(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 metai', '548 days = 2 years'); + assertEq(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'metai', '1 year = a year'); + assertEq(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 metai', '5 years = 5 years'); + }); + + it('suffix', function () { + assertEq(moment(30000).from(0), 'po kelių sekundžių', 'prefix'); + assertEq(moment(0).from(30000), 'prieš kelias sekundes', 'suffix'); + }); + + it('now from now', function () { + assertEq(moment().fromNow(), 'prieš kelias sekundes', 'now from now should display as in the past'); + }); + + it('fromNow', function () { + assertEq(moment().add({s: 30}).fromNow(), 'po kelių sekundžių', 'in seconds'); + assertEq(moment().add({d: 5}).fromNow(), 'po 5 dienų', 'in 5 days'); + }); + + it('calendar day', function () { + var a = moment().hours(12).minutes(0).seconds(0); + + assertEq(moment(a).calendar(), 'Šiandien 12:00', 'today at the same time'); + assertEq(moment(a).add({m: 25}).calendar(), 'Šiandien 12:25', 'Now plus 25 min'); + assertEq(moment(a).add({h: 1}).calendar(), 'Šiandien 13:00', 'Now plus 1 hour'); + assertEq(moment(a).add({d: 1}).calendar(), 'Rytoj 12:00', 'tomorrow at the same time'); + assertEq(moment(a).subtract({h: 1}).calendar(), 'Šiandien 11:00', 'Now minus 1 hour'); + assertEq(moment(a).subtract({d: 1}).calendar(), 'Vakar 12:00', 'yesterday at the same time'); + }); + + it('calendar next week', function () { + var i, m; + for (i = 2; i < 7; i++) { + m = moment().add({d: i}); + assertEq(m.calendar(), m.format('dddd LT'), 'Today + ' + i + ' days current time'); + m.hours(0).minutes(0).seconds(0).milliseconds(0); + assertEq(m.calendar(), m.format('dddd LT'), 'Today + ' + i + ' days beginning of day'); + m.hours(23).minutes(59).seconds(59).milliseconds(999); + assertEq(m.calendar(), m.format('dddd LT'), 'Today + ' + i + ' days end of day'); + } + }); + + it('calendar last week', function () { + var i, m; + for (i = 2; i < 7; i++) { + m = moment().subtract({d: i}); + assertEq(m.calendar(), m.format('[Praėjusį] dddd LT'), 'Today - ' + i + ' days current time'); + m.hours(0).minutes(0).seconds(0).milliseconds(0); + assertEq(m.calendar(), m.format('[Praėjusį] dddd LT'), 'Today - ' + i + ' days beginning of day'); + m.hours(23).minutes(59).seconds(59).milliseconds(999); + assertEq(m.calendar(), m.format('[Praėjusį] dddd LT'), 'Today - ' + i + ' days end of day'); + } + }); + + it('calendar all else', function () { + var weeksAgo = moment().subtract({w: 1}), + weeksFromNow = moment().add({w: 1}); + + assertEq(weeksAgo.calendar(), weeksAgo.format('L'), '1 week ago'); + assertEq(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 1 week'); + + weeksAgo = moment().subtract({w: 2}); + weeksFromNow = moment().add({w: 2}); + + assertEq(weeksAgo.calendar(), weeksAgo.format('L'), '2 weeks ago'); + assertEq(weeksFromNow.calendar(), weeksFromNow.format('L'), 'in 2 weeks'); + }); + + it('weeks year starting monday formatted', function () { + assertEq(moment([2012, 0, 1]).format('w ww wo'), '52 52 52-oji', 'Jan 1 2012 should be week 52'); + assertEq(moment([2012, 0, 2]).format('w ww wo'), '1 01 1-oji', 'Jan 2 2012 should be week 1'); + assertEq(moment([2012, 0, 8]).format('w ww wo'), '1 01 1-oji', 'Jan 8 2012 should be week 1'); + assertEq(moment([2012, 0, 9]).format('w ww wo'), '2 02 2-oji', 'Jan 9 2012 should be week 2'); + assertEq(moment([2012, 0, 15]).format('w ww wo'), '2 02 2-oji', 'Jan 15 2012 should be week 2'); + }); + + it('weeks year starting monday formatted', function () { + assertEq(moment([2015, 4, 1]).format('LL'), '2015 m. gegužės 1 d.', 'uses format instead of standalone form'); + }); +}); diff --git a/src/locale.ts b/src/locale.ts index 2da48d29a6..e36a626555 100644 --- a/src/locale.ts +++ b/src/locale.ts @@ -16,6 +16,7 @@ export { idLocale } from './chronos/i18n/id'; export { itLocale } from './chronos/i18n/it'; export { jaLocale } from './chronos/i18n/ja'; export { koLocale } from './chronos/i18n/ko'; +export { ltLocale } from './chronos/i18n/lt'; export { mnLocale } from './chronos/i18n/mn'; export { nbLocale } from './chronos/i18n/nb'; export { nlLocale } from './chronos/i18n/nl'; diff --git a/src/locale/public_api.ts b/src/locale/public_api.ts index c482ac9ff7..118eb346dc 100644 --- a/src/locale/public_api.ts +++ b/src/locale/public_api.ts @@ -16,6 +16,7 @@ export { idLocale } from 'ngx-bootstrap/chronos'; export { itLocale } from 'ngx-bootstrap/chronos'; export { jaLocale } from 'ngx-bootstrap/chronos'; export { koLocale } from 'ngx-bootstrap/chronos'; +export { ltLocale } from 'ngx-bootstrap/chronos'; export { mnLocale } from 'ngx-bootstrap/chronos'; export { nbLocale } from 'ngx-bootstrap/chronos'; export { nlLocale } from 'ngx-bootstrap/chronos';