summaryrefslogtreecommitdiff
path: root/date-fns/src/locale/ms/_lib/localize/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'date-fns/src/locale/ms/_lib/localize/index.js')
-rw-r--r--date-fns/src/locale/ms/_lib/localize/index.js169
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