Skip to content

Commit

Permalink
Update Macedonian locale for v2 (closes #1531) (#1649)
Browse files Browse the repository at this point in the history
  • Loading branch information
altrim committed Mar 13, 2020
1 parent a26dffb commit 196864f
Show file tree
Hide file tree
Showing 8 changed files with 642 additions and 83 deletions.
2 changes: 1 addition & 1 deletion outdatedLocales.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
["ar", "fil", "fr-CH", "mk", "nl-BE"]
["ar", "fil", "fr-CH", "nl-BE"]
2 changes: 1 addition & 1 deletion src/locale/mk/_lib/formatDistance/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ var formatDistanceLocale = {
}
}

export default function formatDistance (token, count, options) {
export default function formatDistance(token, count, options) {
options = options || {}

var result
Expand Down
42 changes: 34 additions & 8 deletions src/locale/mk/_lib/formatLong/index.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,38 @@
import buildFormatLongFn from '../../../_lib/buildFormatLongFn/index.js'

var formatLong = buildFormatLongFn({
LT: 'h:mm aa',
LTS: 'h:mm:ss aa',
L: 'MM/DD/YYYY',
LL: 'MMMM D YYYY',
LLL: 'MMMM D YYYY h:mm aa',
LLLL: 'dddd, MMMM D YYYY h:mm aa'
})
var dateFormats = {
full: 'EEEE, dd MMMM yyyy',
long: 'dd MMMM yyyy',
medium: 'dd MMM yyyy',
short: 'dd/MM/yyyy'
}

var timeFormats = {
full: 'HH:mm:ss zzzz',
long: 'HH:mm:ss z',
medium: 'HH:mm:ss',
short: 'H:mm'
}

var dateTimeFormats = {
any: '{{date}} {{time}}'
}

var formatLong = {
date: buildFormatLongFn({
formats: dateFormats,
defaultWidth: 'full'
}),

time: buildFormatLongFn({
formats: timeFormats,
defaultWidth: 'full'
}),

dateTime: buildFormatLongFn({
formats: dateTimeFormats,
defaultWidth: 'any'
})
}

export default formatLong
96 changes: 88 additions & 8 deletions src/locale/mk/_lib/formatRelative/index.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,92 @@
import isSameUTCWeek from '../../../../_lib/isSameUTCWeek/index.js'

var weekdays = [
'недела',
'понеделник',
'вторник',
'среда',
'четврток',
'петок',
'сабота'
]

function lastWeek(day) {
var weekday = weekdays[day]

switch (day) {
case 0:
case 3:
case 6:
return "'минатата " + weekday + " во' p"
case 1:
case 2:
case 4:
case 5:
return "'минатиот " + weekday + " во' p"
}
}

function thisWeek(day) {
var weekday = weekdays[day]

switch (day) {
case 0:
case 3:
case 6:
return "'ова " + weekday + " вo' p"
case 1:
case 2:
case 4:
case 5:
return "'овој " + weekday + " вo' p"
}
}

function nextWeek(day) {
var weekday = weekdays[day]

switch (day) {
case 0:
case 3:
case 6:
return "'следната " + weekday + " вo' p"
case 1:
case 2:
case 4:
case 5:
return "'следниот " + weekday + " вo' p"
}
}

var formatRelativeLocale = {
lastWeek: '[last] dddd [at] LT',
yesterday: '[yesterday at] LT',
today: '[today at] LT',
tomorrow: '[tomorrow at] LT',
nextWeek: 'dddd [at] LT',
other: 'L'
lastWeek: function(date, baseDate, options) {
var day = date.getUTCDay()
if (isSameUTCWeek(date, baseDate, options)) {
return thisWeek(day)
} else {
return lastWeek(day)
}
},
yesterday: "'вчера во' p",
today: "'денес во' p",
tomorrow: "'утре во' p",
nextWeek: function(date, baseDate, options) {
var day = date.getUTCDay()
if (isSameUTCWeek(date, baseDate, options)) {
return thisWeek(day)
} else {
return nextWeek(day)
}
},
other: 'P'
}

export default function formatRelative(token, _date, _baseDate, _options) {
return formatRelativeLocale[token]
export default function formatRelative(token, date, baseDate, options) {
var format = formatRelativeLocale[token]

if (typeof format === 'function') {
return format(date, baseDate, options)
}

return format
}
109 changes: 92 additions & 17 deletions src/locale/mk/_lib/localize/index.js
Original file line number Diff line number Diff line change
@@ -1,22 +1,77 @@
import buildLocalizeFn from '../../../_lib/buildLocalizeFn/index.js'
import buildLocalizeArrayFn from '../../../_lib/buildLocalizeArrayFn/index.js'

var weekdayValues = {
narrow: ['не', 'по', 'вт', 'ср', 'че', 'пе', 'са'],
short: ['нед', 'пон', 'вто', 'сре', 'чет', 'пет', 'саб'],
long: ['недела', 'понеделник', 'вторник', 'среда', 'четврток', 'петок', 'сабота']
var eraValues = {
narrow: ['пр.н.е.', 'н.е.'],
abbreviated: ['пред н. е.', 'н. е.'],
wide: ['пред нашата ера', 'нашата ера']
}

var quarterValues = {
narrow: ['1', '2', '3', '4'],
abbreviated: ['1-ви кв.', '2-ри кв.', '3-ти кв.', '4-ти кв.'],
wide: ['1-ви квартал', '2-ри квартал', '3-ти квартал', '4-ти квартал']
}

var monthValues = {
short: ['јан', 'фев', 'мар', 'апр', 'мај', 'јун', 'јул', 'авг', 'сеп', 'окт', 'ное', 'дек'],
long: ['јануари', 'февруари', 'март', 'април', 'мај', 'јуни', 'јули', 'август', 'септември', 'октомври', 'ноември', 'декември']
abbreviated: [
'јан',
'фев',
'мар',
'апр',
'мај',
'јун',
'јул',
'авг',
'септ',
'окт',
'ноем',
'дек'
],
wide: [
'јануари',
'февруари',
'март',
'април',
'мај',
'јуни',
'јули',
'август',
'септември',
'октомври',
'ноември',
'декември'
]
}

var timeOfDayValues = {
long: ['претпладне', 'попладне']
var dayValues = {
narrow: ['Н', 'П', 'В', 'С', 'Ч', 'П', 'С'],
short: ['не', 'по', 'вт', 'ср', 'че', 'пе', 'са'],
abbreviated: ['нед', 'пон', 'вто', 'сре', 'чет', 'пет', 'саб'],
wide: [
'недела',
'понеделник',
'вторник',
'среда',
'четврток',
'петок',
'сабота'
]
}

function ordinalNumber (dirtyNumber) {
var dayPeriodValues = {
wide: {
am: 'претпладне',
pm: 'попладне',
midnight: 'полноќ',
noon: 'напладне',
morning: 'наутро',
afternoon: 'попладне',
evening: 'навечер',
night: 'ноќе'
}
}

function ordinalNumber(dirtyNumber) {
var number = Number(dirtyNumber)

var rem100 = number % 100
Expand All @@ -36,14 +91,34 @@ function ordinalNumber (dirtyNumber) {

var localize = {
ordinalNumber: ordinalNumber,
weekday: buildLocalizeFn(weekdayValues, 'long'),
weekdays: buildLocalizeArrayFn(weekdayValues, 'long'),
month: buildLocalizeFn(monthValues, 'long'),
months: buildLocalizeArrayFn(monthValues, 'long'),
timeOfDay: buildLocalizeFn(timeOfDayValues, 'long', function (hours) {
return (hours / 12) >= 1 ? 1 : 0

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'
}),
timesOfDay: buildLocalizeArrayFn(timeOfDayValues, 'long')

day: buildLocalizeFn({
values: dayValues,
defaultWidth: 'wide'
}),

dayPeriod: buildLocalizeFn({
values: dayPeriodValues,
defaultWidth: 'wide'
})
}

export default localize

0 comments on commit 196864f

Please sign in to comment.