summaryrefslogtreecommitdiff
path: root/date-fns/src/locale/sr/_lib
diff options
context:
space:
mode:
Diffstat (limited to 'date-fns/src/locale/sr/_lib')
-rw-r--r--date-fns/src/locale/sr/_lib/formatDistance/index.js191
-rw-r--r--date-fns/src/locale/sr/_lib/formatLong/index.js39
-rw-r--r--date-fns/src/locale/sr/_lib/formatRelative/index.js44
-rw-r--r--date-fns/src/locale/sr/_lib/localize/index.js222
-rw-r--r--date-fns/src/locale/sr/_lib/match/index.js118
5 files changed, 614 insertions, 0 deletions
diff --git a/date-fns/src/locale/sr/_lib/formatDistance/index.js b/date-fns/src/locale/sr/_lib/formatDistance/index.js
new file mode 100644
index 0000000..5cab16d
--- /dev/null
+++ b/date-fns/src/locale/sr/_lib/formatDistance/index.js
@@ -0,0 +1,191 @@
+var formatDistanceLocale = {
+ lessThanXSeconds: {
+ one: {
+ standalone: 'мање од 1 секунде',
+ withPrepositionAgo: 'мање од 1 секунде',
+ withPrepositionIn: 'мање од 1 секунду'
+ },
+ dual: 'мање од {{count}} секунде',
+ other: 'мање од {{count}} секунди'
+ },
+
+ xSeconds: {
+ one: {
+ standalone: '1 секунда',
+ withPrepositionAgo: '1 секунде',
+ withPrepositionIn: '1 секунду'
+ },
+ dual: '{{count}} секунде',
+ other: '{{count}} секунди'
+ },
+
+ halfAMinute: 'пола минуте',
+
+ lessThanXMinutes: {
+ one: {
+ standalone: 'мање од 1 минуте',
+ withPrepositionAgo: 'мање од 1 минуте',
+ withPrepositionIn: 'мање од 1 минуту'
+ },
+ dual: 'мање од {{count}} минуте',
+ other: 'мање од {{count}} минута'
+ },
+
+ xMinutes: {
+ one: {
+ standalone: '1 минута',
+ withPrepositionAgo: '1 минуте',
+ withPrepositionIn: '1 минуту'
+ },
+ dual: '{{count}} минуте',
+ other: '{{count}} минута'
+ },
+
+ aboutXHours: {
+ one: {
+ standalone: 'око 1 сат',
+ withPrepositionAgo: 'око 1 сат',
+ withPrepositionIn: 'око 1 сат'
+ },
+ dual: 'око {{count}} сата',
+ other: 'око {{count}} сати'
+ },
+
+ xHours: {
+ one: {
+ standalone: '1 сат',
+ withPrepositionAgo: '1 сат',
+ withPrepositionIn: '1 сат'
+ },
+ dual: '{{count}} сата',
+ other: '{{count}} сати'
+ },
+
+ xDays: {
+ one: {
+ standalone: '1 дан',
+ withPrepositionAgo: '1 дан',
+ withPrepositionIn: '1 дан'
+ },
+ dual: '{{count}} дана',
+ other: '{{count}} дана'
+ },
+
+ aboutXWeeks: {
+ one: {
+ standalone: 'око 1 недељу',
+ withPrepositionAgo: 'око 1 недељу',
+ withPrepositionIn: 'око 1 недељу'
+ },
+ dual: 'око {{count}} недеље',
+ other: 'око {{count}} недеље'
+ },
+
+ xWeeks: {
+ one: {
+ standalone: '1 недељу',
+ withPrepositionAgo: '1 недељу',
+ withPrepositionIn: '1 недељу'
+ },
+ dual: '{{count}} недеље',
+ other: '{{count}} недеље'
+ },
+
+ aboutXMonths: {
+ one: {
+ standalone: 'око 1 месец',
+ withPrepositionAgo: 'око 1 месец',
+ withPrepositionIn: 'око 1 месец'
+ },
+ dual: 'око {{count}} месеца',
+ other: 'око {{count}} месеци'
+ },
+
+ xMonths: {
+ one: {
+ standalone: '1 месец',
+ withPrepositionAgo: '1 месец',
+ withPrepositionIn: '1 месец'
+ },
+ dual: '{{count}} месеца',
+ other: '{{count}} месеци'
+ },
+
+ aboutXYears: {
+ one: {
+ standalone: 'око 1 годину',
+ withPrepositionAgo: 'око 1 годину',
+ withPrepositionIn: 'око 1 годину'
+ },
+ dual: 'око {{count}} године',
+ other: 'око {{count}} година'
+ },
+
+ xYears: {
+ one: {
+ standalone: '1 година',
+ withPrepositionAgo: '1 године',
+ withPrepositionIn: '1 годину'
+ },
+ dual: '{{count}} године',
+ other: '{{count}} година'
+ },
+
+ overXYears: {
+ one: {
+ standalone: 'преко 1 годину',
+ withPrepositionAgo: 'преко 1 годину',
+ withPrepositionIn: 'преко 1 годину'
+ },
+ dual: 'преко {{count}} године',
+ other: 'преко {{count}} година'
+ },
+
+ almostXYears: {
+ one: {
+ standalone: 'готово 1 годину',
+ withPrepositionAgo: 'готово 1 годину',
+ withPrepositionIn: 'готово 1 годину'
+ },
+ dual: 'готово {{count}} године',
+ other: 'готово {{count}} година'
+ }
+}
+
+export default function formatDistance(token, count, options) {
+ options = options || {}
+
+ var result
+
+ if (typeof formatDistanceLocale[token] === 'string') {
+ result = formatDistanceLocale[token]
+ } else if (count === 1) {
+ if (options.addSuffix) {
+ if (options.comparison > 0) {
+ result = formatDistanceLocale[token].one.withPrepositionIn
+ } else {
+ result = formatDistanceLocale[token].one.withPrepositionAgo
+ }
+ } else {
+ result = formatDistanceLocale[token].one.standalone
+ }
+ } else if (
+ count % 10 > 1 &&
+ count % 10 < 5 && // if last digit is between 2 and 4
+ String(count).substr(-2, 1) !== '1' // unless the 2nd to last digit is "1"
+ ) {
+ result = formatDistanceLocale[token].dual.replace('{{count}}', count)
+ } else {
+ result = formatDistanceLocale[token].other.replace('{{count}}', count)
+ }
+
+ if (options.addSuffix) {
+ if (options.comparison > 0) {
+ return 'за ' + result
+ } else {
+ return 'пре ' + result
+ }
+ }
+
+ return result
+}
diff --git a/date-fns/src/locale/sr/_lib/formatLong/index.js b/date-fns/src/locale/sr/_lib/formatLong/index.js
new file mode 100644
index 0000000..c833b99
--- /dev/null
+++ b/date-fns/src/locale/sr/_lib/formatLong/index.js
@@ -0,0 +1,39 @@
+import buildFormatLongFn from '../../../_lib/buildFormatLongFn/index'
+
+var dateFormats = {
+ full: 'EEEE, d. MMMM yyyy.',
+ long: 'd. MMMM yyyy.',
+ medium: 'd. MMM yy.',
+ short: 'dd. MM. yy.'
+}
+
+var timeFormats = {
+ full: 'HH:mm:ss (zzzz)',
+ long: 'HH:mm:ss z',
+ medium: 'HH:mm:ss',
+ short: 'HH:mm'
+}
+
+var dateTimeFormats = {
+ full: "{{date}} 'у' {{time}}",
+ long: "{{date}} 'у' {{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/sr/_lib/formatRelative/index.js b/date-fns/src/locale/sr/_lib/formatRelative/index.js
new file mode 100644
index 0000000..3f44d8f
--- /dev/null
+++ b/date-fns/src/locale/sr/_lib/formatRelative/index.js
@@ -0,0 +1,44 @@
+var formatRelativeLocale = {
+ lastWeek: function(date) {
+ var day = date.getUTCDay()
+
+ switch (day) {
+ case 0:
+ return "'прошле недеље у' p"
+ case 3:
+ return "'прошле среде у' p"
+ case 6:
+ return "'прошле суботе у' p"
+ default:
+ return "'прошли' EEEE 'у' p"
+ }
+ },
+ yesterday: "'јуче у' p",
+ today: "'данас у' p",
+ tomorrow: "'сутра у' p",
+ nextWeek: function(date) {
+ var day = date.getUTCDay()
+
+ switch (day) {
+ case 0:
+ return "'следеће недеље у' p"
+ case 3:
+ return "'следећу среду у' p"
+ case 6:
+ return "'следећу суботу у' p"
+ default:
+ return "'следећи' EEEE 'у' p"
+ }
+ },
+ other: 'P'
+}
+
+export default function formatRelative(token, date, _baseDate, _options) {
+ var format = formatRelativeLocale[token]
+
+ if (typeof format === 'function') {
+ return format(date)
+ }
+
+ return format
+}
diff --git a/date-fns/src/locale/sr/_lib/localize/index.js b/date-fns/src/locale/sr/_lib/localize/index.js
new file mode 100644
index 0000000..538ca16
--- /dev/null
+++ b/date-fns/src/locale/sr/_lib/localize/index.js
@@ -0,0 +1,222 @@
+import buildLocalizeFn from '../../../_lib/buildLocalizeFn/index'
+
+function ordinalNumber(dirtyNumber) {
+ var number = Number(dirtyNumber)
+ return String(number).concat('.')
+}
+
+var eraValues = {
+ narrow: ['пр.н.е.', 'АД'],
+ abbreviated: ['пр. Хр.', 'по. Хр.'],
+ wide: ['Пре Христа', 'После Христа']
+}
+
+var monthValues = {
+ narrow: [
+ '1.',
+ '2.',
+ '3.',
+ '4.',
+ '5.',
+ '6.',
+ '7.',
+ '8.',
+ '9.',
+ '10.',
+ '11.',
+ '12.'
+ ],
+ abbreviated: [
+ 'јан',
+ 'феб',
+ 'мар',
+ 'апр',
+ 'мај',
+ 'јун',
+ 'јул',
+ 'авг',
+ 'сеп',
+ 'окт',
+ 'нов',
+ 'дец'
+ ],
+ wide: [
+ 'јануар',
+ 'фебруар',
+ 'март',
+ 'април',
+ 'мај',
+ 'јун',
+ 'јул',
+ 'август',
+ 'септембар',
+ 'октобар',
+ 'новембар',
+ 'децембар'
+ ]
+}
+
+var formattingMonthValues = {
+ narrow: [
+ '1.',
+ '2.',
+ '3.',
+ '4.',
+ '5.',
+ '6.',
+ '7.',
+ '8.',
+ '9.',
+ '10.',
+ '11.',
+ '12.'
+ ],
+ abbreviated: [
+ 'јан',
+ 'феб',
+ 'мар',
+ 'апр',
+ 'мај',
+ 'јун',
+ 'јул',
+ 'авг',
+ 'сеп',
+ 'окт',
+ 'нов',
+ 'дец'
+ ],
+ wide: [
+ 'јануар',
+ 'фебруар',
+ 'март',
+ 'април',
+ 'мај',
+ 'јун',
+ 'јул',
+ 'август',
+ 'септембар',
+ 'октобар',
+ 'новембар',
+ 'децембар'
+ ]
+}
+
+var quarterValues = {
+ narrow: ['1.', '2.', '3.', '4.'],
+ abbreviated: ['1. кв.', '2. кв.', '3. кв.', '4. кв.'],
+ wide: ['1. квартал', '2. квартал', '3. квартал', '4. квартал']
+}
+
+var dayValues = {
+ narrow: ['Н', 'П', 'У', 'С', 'Ч', 'П', 'С'],
+ short: ['нед', 'пон', 'уто', 'сре', 'чет', 'пет', 'суб'],
+ abbreviated: ['нед', 'пон', 'уто', 'сре', 'чет', 'пет', 'суб'],
+ wide: [
+ 'недеља',
+ 'понедељак',
+ 'уторак',
+ 'среда',
+ 'четвртак',
+ 'петак',
+ 'субота'
+ ]
+}
+
+var formattingDayPeriodValues = {
+ narrow: {
+ am: 'АМ',
+ pm: 'ПМ',
+ midnight: 'поноћ',
+ noon: 'подне',
+ morning: 'ујутру',
+ afternoon: 'поподне',
+ evening: 'увече',
+ night: 'ноћу'
+ },
+ abbreviated: {
+ am: 'АМ',
+ pm: 'ПМ',
+ midnight: 'поноћ',
+ noon: 'подне',
+ morning: 'ујутру',
+ afternoon: 'поподне',
+ evening: 'увече',
+ night: 'ноћу'
+ },
+ wide: {
+ am: 'AM',
+ pm: 'PM',
+ midnight: 'поноћ',
+ noon: 'подне',
+ morning: 'ујутру',
+ afternoon: 'после подне',
+ evening: 'увече',
+ night: 'ноћу'
+ }
+}
+
+var dayPeriodValues = {
+ narrow: {
+ am: 'AM',
+ pm: 'PM',
+ midnight: 'поноћ',
+ noon: 'подне',
+ morning: 'ујутру',
+ afternoon: 'поподне',
+ evening: 'увече',
+ night: 'ноћу'
+ },
+ abbreviated: {
+ am: 'AM',
+ pm: 'PM',
+ midnight: 'поноћ',
+ noon: 'подне',
+ morning: 'ујутру',
+ afternoon: 'поподне',
+ evening: 'увече',
+ night: 'ноћу'
+ },
+ wide: {
+ am: 'AM',
+ pm: 'PM',
+ midnight: 'поноћ',
+ noon: 'подне',
+ morning: 'ујутру',
+ afternoon: 'после подне',
+ evening: 'увече',
+ night: 'ноћу'
+ }
+}
+
+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',
+ formattingValues: formattingMonthValues,
+ defaultFormattingWidth: '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/sr/_lib/match/index.js b/date-fns/src/locale/sr/_lib/match/index.js
new file mode 100644
index 0000000..45da68e
--- /dev/null
+++ b/date-fns/src/locale/sr/_lib/match/index.js
@@ -0,0 +1,118 @@
+import buildMatchFn from '../../../_lib/buildMatchFn/index'
+import buildMatchPatternFn from '../../../_lib/buildMatchPatternFn/index'
+
+var matchOrdinalNumberPattern = /^(\d+)\./i
+var parseOrdinalNumberPattern = /\d+/i
+
+var matchEraPatterns = {
+ narrow: /^(пр\.н\.е\.|АД)/i,
+ abbreviated: /^(пр\.\s?Хр\.|по\.\s?Хр\.)/i,
+ wide: /^(Пре Христа|пре нове ере|После Христа|нова ера)/i
+}
+var parseEraPatterns = {
+ any: [/^пр/i, /^(по|нова)/i]
+}
+
+var matchQuarterPatterns = {
+ narrow: /^[1234]/i,
+ abbreviated: /^[1234]\.\s?кв\.?/i,
+ wide: /^[1234]\. квартал/i
+}
+var parseQuarterPatterns = {
+ any: [/1/i, /2/i, /3/i, /4/i]
+}
+
+var matchMonthPatterns = {
+ narrow: /^(10|11|12|[123456789])\./i,
+ abbreviated: /^(јан|феб|мар|апр|мај|јун|јул|авг|сеп|окт|нов|дец)/i,
+ wide: /^((јануар|јануара)|(фебруар|фебруара)|(март|марта)|(април|априла)|(мја|маја)|(јун|јуна)|(јул|јула)|(август|августа)|(септембар|септембра)|(октобар|октобра)|(новембар|новембра)|(децембар|децембра))/i
+}
+var parseMonthPatterns = {
+ narrow: [/(10|11|12|[123456789])/i],
+ any: [
+ /^ја/i,
+ /^ф/i,
+ /^мар/i,
+ /^ап/i,
+ /^мај/i,
+ /^јун/i,
+ /^јул/i,
+ /^авг/i,
+ /^с/i,
+ /^о/i,
+ /^н/i,
+ /^д/i
+ ]
+}
+
+var matchDayPatterns = {
+ narrow: /^[пусчн]/i,
+ short: /^(нед|пон|уто|сре|чет|пет|суб)/i,
+ abbreviated: /^(нед|пон|уто|сре|чет|пет|суб)/i,
+ wide: /^(недеља|понедељак|уторак|среда|четвртак|петак|субота)/i
+}
+var parseDayPatterns = {
+ narrow: [/^п/i, /^у/i, /^с/i, /^ч/i, /^н/i],
+ any: [/^нед/i, /^пон/i, /^уто/i, /^сре/i, /^чет/i, /^пет/i, /^суб/i]
+}
+
+var matchDayPeriodPatterns = {
+ any: /^(ам|пм|поноћ|(по)?подне|увече|ноћу|после подне|ујутру)/i
+}
+var parseDayPeriodPatterns = {
+ any: {
+ am: /^a/i,
+ pm: /^p/i,
+ midnight: /^поно/i,
+ noon: /^под/i,
+ morning: /ујутру/i,
+ afternoon: /(после\s|по)+подне/i,
+ evening: /(увече)/i,
+ night: /(ноћу)/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