diff options
Diffstat (limited to 'date-fns/src/locale/ms/_lib/localize/index.js')
-rw-r--r-- | date-fns/src/locale/ms/_lib/localize/index.js | 169 |
1 files changed, 169 insertions, 0 deletions
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 |