From 662d8c10e44dfd5a5a08da5fa845ab52c73a07f2 Mon Sep 17 00:00:00 2001 From: tumit Date: Fri, 12 Jan 2018 23:02:38 +0700 Subject: [PATCH] feat(datepicker): added Thai locale support for datepicker (#3409) * feat(datepicker): added Thai locale support for datepicker * feat(datepicker): export Thai locale support for datepicker in index.ts --- .../+datepicker/demo-datepicker.module.ts | 4 +- src/bs-moment/i18n/th.ts | 57 +++++++++++++++++++ src/index.ts | 3 +- src/locale.ts | 1 + 4 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 src/bs-moment/i18n/th.ts diff --git a/demo/src/app/components/+datepicker/demo-datepicker.module.ts b/demo/src/app/components/+datepicker/demo-datepicker.module.ts index cb84394f7d..fd63fc8331 100644 --- a/demo/src/app/components/+datepicker/demo-datepicker.module.ts +++ b/demo/src/app/components/+datepicker/demo-datepicker.module.ts @@ -12,10 +12,10 @@ import { routes } from './demo-datepicker.routes'; import { defineLocale, LocaleData } from 'ngx-bootstrap/bs-moment'; import { - ar, cs, de, enGb, es, esDo, esUs, fr, hi, he, hu, it, ja, ko, nl, nlBe, pl, ptBr, sv, ru, zhCn, tr + ar, cs, de, enGb, es, esDo, esUs, fr, hi, he, hu, it, ja, ko, nl, nlBe, pl, ptBr, sv, ru, zhCn, tr, th } from 'ngx-bootstrap/locale'; -const locales = [ar, cs, de, enGb, es, esDo, esUs, fr, hi, hu, it, ja, ko, nl, nlBe, pl, ptBr, sv, ru, zhCn, tr, he]; +const locales = [ar, cs, de, enGb, es, esDo, esUs, fr, hi, hu, it, ja, ko, nl, nlBe, pl, ptBr, sv, ru, zhCn, tr, he, th]; locales.forEach((locale: LocaleData) => defineLocale(locale.abbr, locale)); @NgModule({ diff --git a/src/bs-moment/i18n/th.ts b/src/bs-moment/i18n/th.ts new file mode 100644 index 0000000000..f1fb5b57c5 --- /dev/null +++ b/src/bs-moment/i18n/th.ts @@ -0,0 +1,57 @@ +// moment.js locale configuration +// locale : Thai [th] +// author : Watcharapol Sanitwong : https://github.com/tumit + +import { LocaleData } from '../locale/locale.class'; + +export const th: LocaleData = { + abbr: 'th', + months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'), + monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'), + weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'), + weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), + weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'), + longDateFormat: { + LT: 'HH:mm', + LTS: 'HH:mm:ss', + L: 'DD/MM/YYYY', + LL: 'D MMMM YYYY', + LLL : 'D MMMM YYYY เวลา H:mm', + LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm' + }, + meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/, + isPM(input: string): boolean { + return input === 'หลังเที่ยง'; + }, + meridiem(hour: number, minute: number, isLower:boolean) { + return (hour < 12) ? 'ก่อนเที่ยง' : 'หลังเที่ยง'; + }, + calendar: { + sameDay : '[วันนี้ เวลา] LT', + nextDay : '[พรุ่งนี้ เวลา] LT', + nextWeek : 'dddd[หน้า เวลา] LT', + lastDay : '[เมื่อวานนี้ เวลา] LT', + lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT', + sameElse: 'L' + }, + relativeTime: { + future : 'อีก %s', + past : '%sที่แล้ว', + s : 'ไม่กี่วินาที', + ss : '%d วินาที', + m : '1 นาที', + mm : '%d นาที', + h : '1 ชั่วโมง', + hh : '%d ชั่วโมง', + d : '1 วัน', + dd : '%d วัน', + M : '1 เดือน', + MM : '%d เดือน', + y : '1 ปี', + yy : '%d ปี' + }, + week: { + dow: 0, // Sunday is the first day of the week. + doy: 12 // The week that contains Jan 1st is the first week of the year. + } +}; diff --git a/src/index.ts b/src/index.ts index 74db1a29cf..fc0c6f8368 100644 --- a/src/index.ts +++ b/src/index.ts @@ -177,5 +177,6 @@ export { ru, sv, zhCn, - tr + tr, + th } from './locale'; diff --git a/src/locale.ts b/src/locale.ts index 1fa9d50b99..d33f674fd8 100644 --- a/src/locale.ts +++ b/src/locale.ts @@ -20,3 +20,4 @@ export { ru } from './bs-moment/i18n/ru'; export { zhCn } from './bs-moment/i18n/zh-cn'; export { tr } from './bs-moment/i18n/tr'; export { he } from './bs-moment/i18n/he'; +export { th } from './bs-moment/i18n/th'; \ No newline at end of file