summaryrefslogtreecommitdiff
path: root/date-fns/src/locale/sr-Latn/_lib
diff options
context:
space:
mode:
Diffstat (limited to 'date-fns/src/locale/sr-Latn/_lib')
-rw-r--r--date-fns/src/locale/sr-Latn/_lib/formatDistance/index.js191
-rw-r--r--date-fns/src/locale/sr-Latn/_lib/formatLong/index.js39
-rw-r--r--date-fns/src/locale/sr-Latn/_lib/formatRelative/index.js44
-rw-r--r--date-fns/src/locale/sr-Latn/_lib/localize/index.js222
-rw-r--r--date-fns/src/locale/sr-Latn/_lib/match/index.js118
5 files changed, 614 insertions, 0 deletions
diff --git a/date-fns/src/locale/sr-Latn/_lib/formatDistance/index.js b/date-fns/src/locale/sr-Latn/_lib/formatDistance/index.js
new file mode 100644
index 0000000..e27c19d
--- /dev/null
+++ b/date-fns/src/locale/sr-Latn/_lib/formatDistance/index.js
@@ -0,0 +1,191 @@
+var formatDistanceLocale = {
+ lessThanXSeconds: {
+ one: {
+ standalone: 'manje od 1 sekunde',
+ withPrepositionAgo: 'manje od 1 sekunde',
+ withPrepositionIn: 'manje od 1 sekundu'
+ },
+ dual: 'manje od {{count}} sekunde',
+ other: 'manje od {{count}} sekundi'
+ },
+
+ xSeconds: {
+ one: {
+ standalone: '1 sekunda',
+ withPrepositionAgo: '1 sekunde',
+ withPrepositionIn: '1 sekundu'
+ },
+ dual: '{{count}} sekunde',
+ other: '{{count}} sekundi'
+ },
+
+ halfAMinute: 'pola minute',
+
+ lessThanXMinutes: {
+ one: {
+ standalone: 'manje od 1 minute',
+ withPrepositionAgo: 'manje od 1 minute',
+ withPrepositionIn: 'manje od 1 minutu'
+ },
+ dual: 'manje od {{count}} minute',
+ other: 'manje od {{count}} minuta'
+ },
+
+ xMinutes: {
+ one: {
+ standalone: '1 minuta',
+ withPrepositionAgo: '1 minute',
+ withPrepositionIn: '1 minutu'
+ },
+ dual: '{{count}} minute',
+ other: '{{count}} minuta'
+ },
+
+ aboutXHours: {
+ one: {
+ standalone: 'oko 1 sat',
+ withPrepositionAgo: 'oko 1 sat',
+ withPrepositionIn: 'oko 1 sat'
+ },
+ dual: 'oko {{count}} sata',
+ other: 'oko {{count}} sati'
+ },
+
+ xHours: {
+ one: {
+ standalone: '1 sat',
+ withPrepositionAgo: '1 sat',
+ withPrepositionIn: '1 sat'
+ },
+ dual: '{{count}} sata',
+ other: '{{count}} sati'
+ },
+
+ xDays: {
+ one: {
+ standalone: '1 dan',
+ withPrepositionAgo: '1 dan',
+ withPrepositionIn: '1 dan'
+ },
+ dual: '{{count}} dana',
+ other: '{{count}} dana'
+ },
+
+ aboutXWeeks: {
+ one: {
+ standalone: 'oko 1 nedelju',
+ withPrepositionAgo: 'oko 1 nedelju',
+ withPrepositionIn: 'oko 1 nedelju'
+ },
+ dual: 'oko {{count}} nedelje',
+ other: 'oko {{count}} nedelje'
+ },
+
+ xWeeks: {
+ one: {
+ standalone: '1 nedelju',
+ withPrepositionAgo: '1 nedelju',
+ withPrepositionIn: '1 nedelju'
+ },
+ dual: '{{count}} nedelje',
+ other: '{{count}} nedelje'
+ },
+
+ aboutXMonths: {
+ one: {
+ standalone: 'oko 1 mesec',
+ withPrepositionAgo: 'oko 1 mesec',
+ withPrepositionIn: 'oko 1 mesec'
+ },
+ dual: 'oko {{count}} meseca',
+ other: 'oko {{count}} meseci'
+ },
+
+ xMonths: {
+ one: {
+ standalone: '1 mesec',
+ withPrepositionAgo: '1 mesec',
+ withPrepositionIn: '1 mesec'
+ },
+ dual: '{{count}} meseca',
+ other: '{{count}} meseci'
+ },
+
+ aboutXYears: {
+ one: {
+ standalone: 'oko 1 godinu',
+ withPrepositionAgo: 'oko 1 godinu',
+ withPrepositionIn: 'oko 1 godinu'
+ },
+ dual: 'oko {{count}} godine',
+ other: 'oko {{count}} godina'
+ },
+
+ xYears: {
+ one: {
+ standalone: '1 godina',
+ withPrepositionAgo: '1 godine',
+ withPrepositionIn: '1 godinu'
+ },
+ dual: '{{count}} godine',
+ other: '{{count}} godina'
+ },
+
+ overXYears: {
+ one: {
+ standalone: 'preko 1 godinu',
+ withPrepositionAgo: 'preko 1 godinu',
+ withPrepositionIn: 'preko 1 godinu'
+ },
+ dual: 'preko {{count}} godine',
+ other: 'preko {{count}} godina'
+ },
+
+ almostXYears: {
+ one: {
+ standalone: 'gotovo 1 godinu',
+ withPrepositionAgo: 'gotovo 1 godinu',
+ withPrepositionIn: 'gotovo 1 godinu'
+ },
+ dual: 'gotovo {{count}} godine',
+ other: 'gotovo {{count}} godina'
+ }
+}
+
+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 'za ' + result
+ } else {
+ return 'pre ' + result
+ }
+ }
+
+ return result
+}
diff --git a/date-fns/src/locale/sr-Latn/_lib/formatLong/index.js b/date-fns/src/locale/sr-Latn/_lib/formatLong/index.js
new file mode 100644
index 0000000..52631f4
--- /dev/null
+++ b/date-fns/src/locale/sr-Latn/_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}} 'u' {{time}}",
+ long: "{{date}} 'u' {{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-Latn/_lib/formatRelative/index.js b/date-fns/src/locale/sr-Latn/_lib/formatRelative/index.js
new file mode 100644
index 0000000..2d717cd
--- /dev/null
+++ b/date-fns/src/locale/sr-Latn/_lib/formatRelative/index.js
@@ -0,0 +1,44 @@
+var formatRelativeLocale = {
+ lastWeek: function(date) {
+ var day = date.getUTCDay()
+
+ switch (day) {
+ case 0:
+ return "'prošle nedelje u' p"
+ case 3:
+ return "'prošle srede u' p"
+ case 6:
+ return "'prošle subote u' p"
+ default:
+ return "'prošli' EEEE 'u' p"
+ }
+ },
+ yesterday: "'juče u' p",
+ today: "'danas u' p",
+ tomorrow: "'sutra u' p",
+ nextWeek: function(date) {
+ var day = date.getUTCDay()
+
+ switch (day) {
+ case 0:
+ return "'sledeće nedelje u' p"
+ case 3:
+ return "'sledeću sredu u' p"
+ case 6:
+ return "'sledeću subotu u' p"
+ default:
+ return "'sledeći' EEEE 'u' 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-Latn/_lib/localize/index.js b/date-fns/src/locale/sr-Latn/_lib/localize/index.js
new file mode 100644
index 0000000..ea01814
--- /dev/null
+++ b/date-fns/src/locale/sr-Latn/_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: ['pr.n.e.', 'AD'],
+ abbreviated: ['pr. Hr.', 'po. Hr.'],
+ wide: ['Pre Hrista', 'Posle Hrista']
+}
+
+var monthValues = {
+ narrow: [
+ '1.',
+ '2.',
+ '3.',
+ '4.',
+ '5.',
+ '6.',
+ '7.',
+ '8.',
+ '9.',
+ '10.',
+ '11.',
+ '12.'
+ ],
+ abbreviated: [
+ 'jan',
+ 'feb',
+ 'mar',
+ 'apr',
+ 'maj',
+ 'jun',
+ 'jul',
+ 'avg',
+ 'sep',
+ 'okt',
+ 'nov',
+ 'dec'
+ ],
+ wide: [
+ 'januar',
+ 'februar',
+ 'mart',
+ 'april',
+ 'maj',
+ 'jun',
+ 'jul',
+ 'avgust',
+ 'septembar',
+ 'oktobar',
+ 'novembar',
+ 'decembar'
+ ]
+}
+
+var formattingMonthValues = {
+ narrow: [
+ '1.',
+ '2.',
+ '3.',
+ '4.',
+ '5.',
+ '6.',
+ '7.',
+ '8.',
+ '9.',
+ '10.',
+ '11.',
+ '12.'
+ ],
+ abbreviated: [
+ 'jan',
+ 'feb',
+ 'mar',
+ 'apr',
+ 'maj',
+ 'jun',
+ 'jul',
+ 'avg',
+ 'sep',
+ 'okt',
+ 'nov',
+ 'dec'
+ ],
+ wide: [
+ 'januar',
+ 'februar',
+ 'mart',
+ 'april',
+ 'maj',
+ 'jun',
+ 'jul',
+ 'avgust',
+ 'septembar',
+ 'oktobar',
+ 'novembar',
+ 'decembar'
+ ]
+}
+
+var quarterValues = {
+ narrow: ['1.', '2.', '3.', '4.'],
+ abbreviated: ['1. kv.', '2. kv.', '3. kv.', '4. kv.'],
+ wide: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal']
+}
+
+var dayValues = {
+ narrow: ['N', 'P', 'U', 'S', 'Č', 'P', 'S'],
+ short: ['ned', 'pon', 'uto', 'sre', 'čet', 'pet', 'sub'],
+ abbreviated: ['ned', 'pon', 'uto', 'sre', 'čet', 'pet', 'sub'],
+ wide: [
+ 'nedelja',
+ 'ponedeljak',
+ 'utorak',
+ 'sreda',
+ 'četvrtak',
+ 'petak',
+ 'subota'
+ ]
+}
+
+var formattingDayPeriodValues = {
+ narrow: {
+ am: 'AM',
+ pm: 'PM',
+ midnight: 'ponoć',
+ noon: 'podne',
+ morning: 'ujutru',
+ afternoon: 'popodne',
+ evening: 'uveče',
+ night: 'noću'
+ },
+ abbreviated: {
+ am: 'AM',
+ pm: 'PM',
+ midnight: 'ponoć',
+ noon: 'podne',
+ morning: 'ujutru',
+ afternoon: 'popodne',
+ evening: 'uveče',
+ night: 'noću'
+ },
+ wide: {
+ am: 'AM',
+ pm: 'PM',
+ midnight: 'ponoć',
+ noon: 'podne',
+ morning: 'ujutru',
+ afternoon: 'posle podne',
+ evening: 'uveče',
+ night: 'noću'
+ }
+}
+
+var dayPeriodValues = {
+ narrow: {
+ am: 'AM',
+ pm: 'PM',
+ midnight: 'ponoć',
+ noon: 'podne',
+ morning: 'ujutru',
+ afternoon: 'popodne',
+ evening: 'uveče',
+ night: 'noću'
+ },
+ abbreviated: {
+ am: 'AM',
+ pm: 'PM',
+ midnight: 'ponoć',
+ noon: 'podne',
+ morning: 'ujutru',
+ afternoon: 'popodne',
+ evening: 'uveče',
+ night: 'noću'
+ },
+ wide: {
+ am: 'AM',
+ pm: 'PM',
+ midnight: 'ponoć',
+ noon: 'podne',
+ morning: 'ujutru',
+ afternoon: 'posle podne',
+ evening: 'uveče',
+ night: 'noću'
+ }
+}
+
+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-Latn/_lib/match/index.js b/date-fns/src/locale/sr-Latn/_lib/match/index.js
new file mode 100644
index 0000000..86ffce0
--- /dev/null
+++ b/date-fns/src/locale/sr-Latn/_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: /^(pr\.n\.e\.|AD)/i,
+ abbreviated: /^(pr\.\s?Hr\.|po\.\s?Hr\.)/i,
+ wide: /^(Pre Hrista|pre nove ere|Posle Hrista|nova era)/i
+}
+var parseEraPatterns = {
+ any: [/^pr/i, /^(po|nova)/i]
+}
+
+var matchQuarterPatterns = {
+ narrow: /^[1234]/i,
+ abbreviated: /^[1234]\.\s?kv\.?/i,
+ wide: /^[1234]\. kvartal/i
+}
+var parseQuarterPatterns = {
+ any: [/1/i, /2/i, /3/i, /4/i]
+}
+
+var matchMonthPatterns = {
+ narrow: /^(10|11|12|[123456789])\./i,
+ abbreviated: /^(jan|feb|mar|apr|maj|jun|jul|avg|sep|okt|nov|dec)/i,
+ wide: /^((januar|januara)|(februar|februara)|(mart|marta)|(april|aprila)|(maj|maja)|(jun|juna)|(jul|jula)|(avgust|avgusta)|(septembar|septembra)|(oktobar|oktobra)|(novembar|novembra)|(decembar|decembra))/i
+}
+var parseMonthPatterns = {
+ narrow: [/(10|11|12|[123456789])/i],
+ any: [
+ /^ja/i,
+ /^f/i,
+ /^mar/i,
+ /^ap/i,
+ /^maj/i,
+ /^jun/i,
+ /^jul/i,
+ /^avg/i,
+ /^s/i,
+ /^o/i,
+ /^n/i,
+ /^d/i
+ ]
+}
+
+var matchDayPatterns = {
+ narrow: /^[npusčc]/i,
+ short: /^(ned|pon|uto|sre|(čet|cet)|pet|sub)/i,
+ abbreviated: /^(ned|pon|uto|sre|(čet|cet)|pet|sub)/i,
+ wide: /^(nedelja|ponedeljak|utorak|sreda|(četvrtak|cetvrtak)|petak|subota)/i
+}
+var parseDayPatterns = {
+ narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],
+ any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]
+}
+
+var matchDayPeriodPatterns = {
+ any: /^(am|pm|ponoc|ponoć|(po)?podne|uvece|uveče|noću|posle podne|ujutru)/i
+}
+var parseDayPeriodPatterns = {
+ any: {
+ am: /^a/i,
+ pm: /^p/i,
+ midnight: /^pono/i,
+ noon: /^pod/i,
+ morning: /jutro/i,
+ afternoon: /(posle\s|po)+podne/i,
+ evening: /(uvece|uveče)/i,
+ night: /(nocu|noću)/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