summaryrefslogtreecommitdiff
path: root/date-fns/src/locale/ms/_lib
diff options
context:
space:
mode:
Diffstat (limited to 'date-fns/src/locale/ms/_lib')
-rw-r--r--date-fns/src/locale/ms/_lib/formatDistance/index.js101
-rw-r--r--date-fns/src/locale/ms/_lib/formatLong/index.js41
-rw-r--r--date-fns/src/locale/ms/_lib/formatRelative/index.js12
-rw-r--r--date-fns/src/locale/ms/_lib/localize/index.js169
-rw-r--r--date-fns/src/locale/ms/_lib/match/index.js137
5 files changed, 460 insertions, 0 deletions
diff --git a/date-fns/src/locale/ms/_lib/formatDistance/index.js b/date-fns/src/locale/ms/_lib/formatDistance/index.js
new file mode 100644
index 0000000..f3e90e3
--- /dev/null
+++ b/date-fns/src/locale/ms/_lib/formatDistance/index.js
@@ -0,0 +1,101 @@
+var formatDistanceLocale = {
+ lessThanXSeconds: {
+ one: 'kurang dari 1 saat',
+ other: 'kurang dari {{count}} saat'
+ },
+
+ xSeconds: {
+ one: '1 saat',
+ other: '{{count}} saat'
+ },
+
+ halfAMinute: 'setengah minit',
+
+ lessThanXMinutes: {
+ one: 'kurang dari 1 minit',
+ other: 'kurang dari {{count}} minit'
+ },
+
+ xMinutes: {
+ one: '1 minit',
+ other: '{{count}} minit'
+ },
+
+ aboutXHours: {
+ one: 'sekitar 1 jam',
+ other: 'sekitar {{count}} jam'
+ },
+
+ xHours: {
+ one: '1 jam',
+ other: '{{count}} jam'
+ },
+
+ xDays: {
+ one: '1 hari',
+ other: '{{count}} hari'
+ },
+
+ aboutXWeeks: {
+ one: 'sekitar 1 minggu',
+ other: 'sekitar {{count}} minggu'
+ },
+
+ xWeeks: {
+ one: '1 minggu',
+ other: '{{count}} minggu'
+ },
+
+ aboutXMonths: {
+ one: 'sekitar 1 bulan',
+ other: 'sekitar {{count}} bulan'
+ },
+
+ xMonths: {
+ one: '1 bulan',
+ other: '{{count}} bulan'
+ },
+
+ aboutXYears: {
+ one: 'sekitar 1 tahun',
+ other: 'sekitar {{count}} tahun'
+ },
+
+ xYears: {
+ one: '1 tahun',
+ other: '{{count}} tahun'
+ },
+
+ overXYears: {
+ one: 'lebih dari 1 tahun',
+ other: 'lebih dari {{count}} tahun'
+ },
+
+ almostXYears: {
+ one: 'hampir 1 tahun',
+ other: 'hampir {{count}} tahun'
+ }
+}
+
+export default function formatDistance(token, count, options) {
+ options = options || {}
+
+ var result
+ if (typeof formatDistanceLocale[token] === 'string') {
+ result = formatDistanceLocale[token]
+ } else if (count === 1) {
+ result = formatDistanceLocale[token].one
+ } else {
+ result = formatDistanceLocale[token].other.replace('{{count}}', count)
+ }
+
+ if (options.addSuffix) {
+ if (options.comparison > 0) {
+ return 'dalam masa ' + result
+ } else {
+ return result + ' yang lalu'
+ }
+ }
+
+ return result
+}
diff --git a/date-fns/src/locale/ms/_lib/formatLong/index.js b/date-fns/src/locale/ms/_lib/formatLong/index.js
new file mode 100644
index 0000000..d8ea107
--- /dev/null
+++ b/date-fns/src/locale/ms/_lib/formatLong/index.js
@@ -0,0 +1,41 @@
+import buildFormatLongFn from '../../../_lib/buildFormatLongFn/index'
+
+var dateFormats = {
+ full: 'EEEE, d MMMM yyyy',
+ long: 'd MMMM yyyy',
+ medium: 'd MMM yyyy',
+ short: 'd/M/yyyy'
+}
+
+var timeFormats = {
+ full: 'HH.mm.ss',
+ long: 'HH.mm.ss',
+ medium: 'HH.mm',
+ short: 'HH.mm'
+}
+
+var dateTimeFormats = {
+ full: "{{date}} 'pukul' {{time}}",
+ long: "{{date}} 'pukul' {{time}}",
+ medium: '{{date}}, {{time}}',
+ short: '{{date}}, {{time}}'
+}
+
+var formatLong = {
+ date: buildFormatLongFn({
+ formats: dateFormats,
+ defaultWidth: 'full'
+ }),
+
+ time: buildFormatLongFn({
+ formats: timeFormats,
+ defaultWidth: 'full'
+ }),
+
+ dateTime: buildFormatLongFn({
+ formats: dateTimeFormats,
+ defaultWidth: 'full'
+ })
+}
+
+export default formatLong
diff --git a/date-fns/src/locale/ms/_lib/formatRelative/index.js b/date-fns/src/locale/ms/_lib/formatRelative/index.js
new file mode 100644
index 0000000..60b6541
--- /dev/null
+++ b/date-fns/src/locale/ms/_lib/formatRelative/index.js
@@ -0,0 +1,12 @@
+var formatRelativeLocale = {
+ lastWeek: "eeee 'lepas pada jam' p",
+ yesterday: "'Semalam pada jam' p",
+ today: "'Hari ini pada jam' p",
+ tomorrow: "'Esok pada jam' p",
+ nextWeek: "eeee 'pada jam' p",
+ other: 'P'
+}
+
+export default function formatRelative(token, _date, _baseDate, _options) {
+ return formatRelativeLocale[token]
+}
diff --git a/date-fns/src/locale/ms/_lib/localize/index.js b/date-fns/src/locale/ms/_lib/localize/index.js
new file mode 100644
index 0000000..038457a
--- /dev/null
+++ b/date-fns/src/locale/ms/_lib/localize/index.js
@@ -0,0 +1,169 @@
+import buildLocalizeFn from '../../../_lib/buildLocalizeFn/index'
+
+// Most data for localization are taken from this page
+// https://www.unicode.org/cldr/charts/32/summary/ms.html
+var eraValues = {
+ narrow: ['SM', 'M'],
+ abbreviated: ['SM', 'M'],
+ wide: ['Sebelum Masihi', 'Masihi']
+}
+
+var quarterValues = {
+ narrow: ['1', '2', '3', '4'],
+ abbreviated: ['S1', 'S2', 'S3', 'S4'],
+ wide: ['Suku pertama', 'Suku kedua', 'Suku ketiga', 'Suku keempat']
+}
+
+// Note: in Malay, the names of days of the week and months are capitalized.
+// If you are making a new locale based on this one, check if the same is true for the language you're working on.
+// Generally, formatted dates should look like they are in the middle of a sentence,
+// e.g. in Spanish language the weekdays and months should be in the lowercase.
+var monthValues = {
+ narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'O', 'S', 'O', 'N', 'D'],
+ abbreviated: [
+ 'Jan',
+ 'Feb',
+ 'Mac',
+ 'Apr',
+ 'Mei',
+ 'Jun',
+ 'Jul',
+ 'Ogo',
+ 'Sep',
+ 'Okt',
+ 'Nov',
+ 'Dis'
+ ],
+ wide: [
+ 'Januari',
+ 'Februari',
+ 'Mac',
+ 'April',
+ 'Mei',
+ 'Jun',
+ 'Julai',
+ 'Ogos',
+ 'September',
+ 'Oktober',
+ 'November',
+ 'Disember'
+ ]
+}
+
+var dayValues = {
+ narrow: ['A', 'I', 'S', 'R', 'K', 'J', 'S'],
+ short: ['Ahd', 'Isn', 'Sel', 'Rab', 'Kha', 'Jum', 'Sab'],
+ abbreviated: ['Ahd', 'Isn', 'Sel', 'Rab', 'Kha', 'Jum', 'Sab'],
+ wide: ['Ahad', 'Isnin', 'Selasa', 'Rabu', 'Khamis', 'Jumaat', 'Sabtu']
+}
+
+var dayPeriodValues = {
+ narrow: {
+ am: 'am',
+ pm: 'pm',
+ midnight: 'tgh malam',
+ noon: 'tgh hari',
+ morning: 'pagi',
+ afternoon: 'tengah hari',
+ evening: 'petang',
+ night: 'malam'
+ },
+ abbreviated: {
+ am: 'AM',
+ pm: 'PM',
+ midnight: 'tengah malam',
+ noon: 'tengah hari',
+ morning: 'pagi',
+ afternoon: 'tengah hari',
+ evening: 'petang',
+ night: 'malam'
+ },
+ wide: {
+ am: 'a.m.',
+ pm: 'p.m.',
+ midnight: 'tengah malam',
+ noon: 'tengah hari',
+ morning: 'pagi',
+ afternoon: 'tengah hari',
+ evening: 'petang',
+ night: 'malam'
+ }
+}
+var formattingDayPeriodValues = {
+ narrow: {
+ am: 'am',
+ pm: 'pm',
+ midnight: 'tengah malam',
+ noon: 'tengah hari',
+ morning: 'pagi',
+ afternoon: 'tengah hari',
+ evening: 'petang',
+ night: 'malam'
+ },
+ abbreviated: {
+ am: 'AM',
+ pm: 'PM',
+ midnight: 'tengah malam',
+ noon: 'tengah hari',
+ morning: 'pagi',
+ afternoon: 'tengah hari',
+ evening: 'petang',
+ night: 'malam'
+ },
+ wide: {
+ am: 'a.m.',
+ pm: 'p.m.',
+ midnight: 'tengah malam',
+ noon: 'tengah hari',
+ morning: 'pagi',
+ afternoon: 'tengah hari',
+ evening: 'petang',
+ night: 'malam'
+ }
+}
+
+function ordinalNumber(dirtyNumber, _dirtyOptions) {
+ var number = Number(dirtyNumber)
+
+ // Can't use "pertama", "kedua" because can't be parsed
+ switch (number) {
+ default:
+ return 'ke-' + number
+ }
+}
+
+var localize = {
+ ordinalNumber: ordinalNumber,
+
+ era: buildLocalizeFn({
+ values: eraValues,
+ defaultWidth: 'wide'
+ }),
+
+ quarter: buildLocalizeFn({
+ values: quarterValues,
+ defaultWidth: 'wide',
+ argumentCallback: function(quarter) {
+ return Number(quarter) - 1
+ }
+ }),
+
+ month: buildLocalizeFn({
+ values: monthValues,
+ defaultWidth: 'wide'
+ }),
+
+ day: buildLocalizeFn({
+ values: dayValues,
+ defaultWidth: 'wide'
+ }),
+
+ dayPeriod: buildLocalizeFn({
+ values: dayPeriodValues,
+ defaultWidth: 'wide',
+ formattingValues: formattingDayPeriodValues,
+ defaultFormattingWidth: 'wide'
+ })
+}
+
+export default localize
diff --git a/date-fns/src/locale/ms/_lib/match/index.js b/date-fns/src/locale/ms/_lib/match/index.js
new file mode 100644
index 0000000..650e1de
--- /dev/null
+++ b/date-fns/src/locale/ms/_lib/match/index.js
@@ -0,0 +1,137 @@
+import buildMatchFn from '../../../_lib/buildMatchFn/index'
+import buildMatchPatternFn from '../../../_lib/buildMatchPatternFn/index'
+
+var matchOrdinalNumberPattern = /^ke-(\d+)?/i
+var parseOrdinalNumberPattern = /petama|\d+/i
+
+var matchEraPatterns = {
+ narrow: /^(sm|m)/i,
+ abbreviated: /^(s\.?\s?m\.?|m\.?)/i,
+ wide: /^(sebelum masihi|masihi)/i
+}
+var parseEraPatterns = {
+ any: [/^s/i, /^(m)/i]
+}
+
+var matchQuarterPatterns = {
+ narrow: /^[1234]/i,
+ abbreviated: /^S[1234]/i,
+ wide: /Suku (pertama|kedua|ketiga|keempat)/i
+}
+var parseQuarterPatterns = {
+ any: [/pertama|1/i, /kedua|2/i, /ketiga|3/i, /keempat|4/i]
+}
+
+var matchMonthPatterns = {
+ narrow: /^[jfmasond]/i,
+ abbreviated: /^(jan|feb|mac|apr|mei|jun|jul|ogo|sep|okt|nov|dis)/i,
+ wide: /^(januari|februari|mac|april|mei|jun|julai|ogos|september|oktober|november|disember)/i
+}
+var parseMonthPatterns = {
+ narrow: [
+ /^j/i,
+ /^f/i,
+ /^m/i,
+ /^a/i,
+ /^m/i,
+ /^j/i,
+ /^j/i,
+ /^o/i,
+ /^s/i,
+ /^o/i,
+ /^n/i,
+ /^d/i
+ ],
+ any: [
+ /^ja/i,
+ /^f/i,
+ /^ma/i,
+ /^ap/i,
+ /^me/i,
+ /^jun/i,
+ /^jul/i,
+ /^og/i,
+ /^s/i,
+ /^ok/i,
+ /^n/i,
+ /^d/i
+ ]
+}
+
+var matchDayPatterns = {
+ narrow: /^[aisrkj]/i,
+ short: /^(ahd|isn|sel|rab|kha|jum|sab)/i,
+ abbreviated: /^(ahd|isn|sel|rab|kha|jum|sab)/i,
+ wide: /^(ahad|isnin|selasa|rabu|khamis|jumaat|sabtu)/i
+}
+var parseDayPatterns = {
+ narrow: [/^a/i, /^i/i, /^s/i, /^r/i, /^k/i, /^j/i, /^s/i],
+ any: [/^a/i, /^i/i, /^se/i, /^r/i, /^k/i, /^j/i, /^sa/i]
+}
+
+var matchDayPeriodPatterns = {
+ narrow: /^(am|pm|tengah malam|tengah hari|pagi|petang|malam)/i,
+ any: /^([ap]\.?\s?m\.?|tengah malam|tengah hari|pagi|petang|malam)/i
+}
+var parseDayPeriodPatterns = {
+ any: {
+ am: /^a/i,
+ pm: /^pm/i,
+ midnight: /^tengah m/i,
+ noon: /^tengah h/i,
+ morning: /pa/i,
+ afternoon: /tengah h/i,
+ evening: /pe/i,
+ night: /m/i
+ }
+}
+
+var match = {
+ ordinalNumber: buildMatchPatternFn({
+ matchPattern: matchOrdinalNumberPattern,
+ parsePattern: parseOrdinalNumberPattern,
+ valueCallback: function(value) {
+ return parseInt(value, 10)
+ }
+ }),
+
+ era: buildMatchFn({
+ matchPatterns: matchEraPatterns,
+ defaultMatchWidth: 'wide',
+ parsePatterns: parseEraPatterns,
+ defaultParseWidth: 'any'
+ }),
+
+ quarter: buildMatchFn({
+ matchPatterns: matchQuarterPatterns,
+ defaultMatchWidth: 'wide',
+ parsePatterns: parseQuarterPatterns,
+ defaultParseWidth: 'any',
+ valueCallback: function(index) {
+ return index + 1
+ }
+ }),
+
+ month: buildMatchFn({
+ matchPatterns: matchMonthPatterns,
+ defaultMatchWidth: 'wide',
+ parsePatterns: parseMonthPatterns,
+ defaultParseWidth: 'any'
+ }),
+
+ day: buildMatchFn({
+ matchPatterns: matchDayPatterns,
+ defaultMatchWidth: 'wide',
+ parsePatterns: parseDayPatterns,
+ defaultParseWidth: 'any'
+ }),
+
+ dayPeriod: buildMatchFn({
+ matchPatterns: matchDayPeriodPatterns,
+ defaultMatchWidth: 'any',
+ parsePatterns: parseDayPeriodPatterns,
+ defaultParseWidth: 'any'
+ })
+}
+
+export default match