Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Macedonian locale. Fixes #1531 #1649

Merged
merged 3 commits into from
Mar 13, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
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