summaryrefslogtreecommitdiff
path: root/date-fns/src/locale/sk/_lib
diff options
context:
space:
mode:
Diffstat (limited to 'date-fns/src/locale/sk/_lib')
-rw-r--r--date-fns/src/locale/sk/_lib/formatDistance/index.js231
-rw-r--r--date-fns/src/locale/sk/_lib/formatLong/index.js44
-rw-r--r--date-fns/src/locale/sk/_lib/formatRelative/index.js81
-rw-r--r--date-fns/src/locale/sk/_lib/localize/index.js204
-rw-r--r--date-fns/src/locale/sk/_lib/match/index.js138
5 files changed, 698 insertions, 0 deletions
diff --git a/date-fns/src/locale/sk/_lib/formatDistance/index.js b/date-fns/src/locale/sk/_lib/formatDistance/index.js
new file mode 100644
index 0000000..cacb5b4
--- /dev/null
+++ b/date-fns/src/locale/sk/_lib/formatDistance/index.js
@@ -0,0 +1,231 @@
+// NOTE: should prolly be improved
+// https://www.unicode.org/cldr/charts/32/summary/sk.html?hide#1308
+
+function declensionGroup(scheme, count) {
+ if (count === 1) {
+ return scheme.one
+ }
+
+ if (count >= 2 && count <= 4) {
+ return scheme.twoFour
+ }
+
+ // if count === null || count === 0 || count >= 5
+ return scheme.other
+}
+
+function declension(scheme, count, time) {
+ var group = declensionGroup(scheme, count)
+ var finalText = group[time] || group
+ return finalText.replace('{{count}}', count)
+}
+
+function extractPreposition(token) {
+ var result = ['lessThan', 'about', 'over', 'almost'].filter(function(
+ preposition
+ ) {
+ return !!token.match(new RegExp('^' + preposition))
+ })
+
+ return result[0]
+}
+
+function prefixPreposition(preposition) {
+ var translation = ''
+
+ if (preposition === 'almost') {
+ translation = 'takmer'
+ }
+
+ if (preposition === 'about') {
+ translation = 'približne'
+ }
+
+ return translation.length > 0 ? translation + ' ' : ''
+}
+
+function suffixPreposition(preposition) {
+ var translation = ''
+
+ if (preposition === 'lessThan') {
+ translation = 'menej než'
+ }
+
+ if (preposition === 'over') {
+ translation = 'viac než'
+ }
+
+ return translation.length > 0 ? translation + ' ' : ''
+}
+
+function lowercaseFirstLetter(string) {
+ return string.charAt(0).toLowerCase() + string.slice(1)
+}
+
+var formatDistanceLocale = {
+ xSeconds: {
+ one: {
+ regular: 'sekunda',
+ past: 'sekundou',
+ future: 'sekundu'
+ },
+ twoFour: {
+ regular: '{{count}} sekundy',
+ past: '{{count}} sekundami',
+ future: '{{count}} sekundy'
+ },
+ other: {
+ regular: '{{count}} sekúnd',
+ past: '{{count}} sekundami',
+ future: '{{count}} sekúnd'
+ }
+ },
+
+ halfAMinute: {
+ other: {
+ regular: 'pol minúty',
+ past: 'pol minútou',
+ future: 'pol minúty'
+ }
+ },
+
+ xMinutes: {
+ one: {
+ regular: 'minúta',
+ past: 'minútou',
+ future: 'minútu'
+ },
+ twoFour: {
+ regular: '{{count}} minúty',
+ past: '{{count}} minútami',
+ future: '{{count}} minúty'
+ },
+ other: {
+ regular: '{{count}} minút',
+ past: '{{count}} minútami',
+ future: '{{count}} minút'
+ }
+ },
+
+ xHours: {
+ one: {
+ regular: 'hodina',
+ past: 'hodinou',
+ future: 'hodinu'
+ },
+ twoFour: {
+ regular: '{{count}} hodiny',
+ past: '{{count}} hodinami',
+ future: '{{count}} hodiny'
+ },
+ other: {
+ regular: '{{count}} hodín',
+ past: '{{count}} hodinami',
+ future: '{{count}} hodín'
+ }
+ },
+
+ xDays: {
+ one: {
+ regular: 'deň',
+ past: 'dňom',
+ future: 'deň'
+ },
+ twoFour: {
+ regular: '{{count}} dni',
+ past: '{{count}} dňami',
+ future: '{{count}} dni'
+ },
+ other: {
+ regular: '{{count}} dní',
+ past: '{{count}} dňami',
+ future: '{{count}} dní'
+ }
+ },
+
+ xWeeks: {
+ one: {
+ regular: 'mesiac', // TODO
+ past: 'mesiacom', // TODO
+ future: 'mesiac' // TODO
+ },
+ twoFour: {
+ regular: '{{count}} mesiace', // TODO
+ past: '{{count}} mesiacmi', // TODO
+ future: '{{count}} mesiace' // TODO
+ },
+ other: {
+ regular: '{{count}} mesiacov', // TODO
+ past: '{{count}} mesiacmi', // TODO
+ future: '{{count}} mesiacov' // TODO
+ }
+ },
+
+ xMonths: {
+ one: {
+ regular: 'mesiac',
+ past: 'mesiacom',
+ future: 'mesiac'
+ },
+ twoFour: {
+ regular: '{{count}} mesiace',
+ past: '{{count}} mesiacmi',
+ future: '{{count}} mesiace'
+ },
+ other: {
+ regular: '{{count}} mesiacov',
+ past: '{{count}} mesiacmi',
+ future: '{{count}} mesiacov'
+ }
+ },
+
+ xYears: {
+ one: {
+ regular: 'rok',
+ past: 'rokom',
+ future: 'rok'
+ },
+ twoFour: {
+ regular: '{{count}} roky',
+ past: '{{count}} rokmi',
+ future: '{{count}} roky'
+ },
+ other: {
+ regular: '{{count}} rokov',
+ past: '{{count}} rokmi',
+ future: '{{count}} rokov'
+ }
+ }
+}
+
+export default function formatDistance(token, count, options) {
+ options = options || {}
+
+ var preposition = extractPreposition(token) || ''
+ var key = lowercaseFirstLetter(token.substring(preposition.length))
+ var scheme = formatDistanceLocale[key]
+
+ if (!options.addSuffix) {
+ return (
+ prefixPreposition(preposition) +
+ suffixPreposition(preposition) +
+ declension(scheme, count, 'regular')
+ )
+ }
+
+ if (options.comparison > 0) {
+ return (
+ prefixPreposition(preposition) +
+ 'o ' +
+ suffixPreposition(preposition) +
+ declension(scheme, count, 'future')
+ )
+ } else {
+ return (
+ prefixPreposition(preposition) +
+ 'pred ' +
+ suffixPreposition(preposition) +
+ declension(scheme, count, 'past')
+ )
+ }
+}
diff --git a/date-fns/src/locale/sk/_lib/formatLong/index.js b/date-fns/src/locale/sk/_lib/formatLong/index.js
new file mode 100644
index 0000000..bca7361
--- /dev/null
+++ b/date-fns/src/locale/sk/_lib/formatLong/index.js
@@ -0,0 +1,44 @@
+import buildFormatLongFn from '../../../_lib/buildFormatLongFn/index'
+
+// https://www.unicode.org/cldr/charts/32/summary/sk.html?hide#1986
+var dateFormats = {
+ full: 'EEEE d. MMMM y',
+ long: 'd. MMMM y',
+ medium: 'd. M. y',
+ short: 'd. M. y'
+}
+
+// https://www.unicode.org/cldr/charts/32/summary/sk.html?hide#2149
+var timeFormats = {
+ full: 'H:mm:ss zzzz',
+ long: 'H:mm:ss z',
+ medium: 'H:mm:ss',
+ short: 'H:mm'
+}
+
+// https://www.unicode.org/cldr/charts/32/summary/sk.html?hide#1994
+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/sk/_lib/formatRelative/index.js b/date-fns/src/locale/sk/_lib/formatRelative/index.js
new file mode 100644
index 0000000..cbe159e
--- /dev/null
+++ b/date-fns/src/locale/sk/_lib/formatRelative/index.js
@@ -0,0 +1,81 @@
+import isSameUTCWeek from '../../../../_lib/isSameUTCWeek/index'
+
+// https://www.unicode.org/cldr/charts/32/summary/sk.html?hide#1308
+var accusativeWeekdays = [
+ 'nedeľu',
+ 'pondelok',
+ 'utorok',
+ 'stredu',
+ 'štvrtok',
+ 'piatok',
+ 'sobotu'
+]
+
+function lastWeek(day) {
+ var weekday = accusativeWeekdays[day]
+
+ switch (day) {
+ case 0: /* Sun */
+ case 3: /* Wed */
+ case 6 /* Sat */:
+ return "'minulú " + weekday + " o' p"
+ default:
+ return "'minulý' eeee 'o' p"
+ }
+}
+
+function thisWeek(day) {
+ var weekday = accusativeWeekdays[day]
+
+ if (day === 4 /* Thu */) {
+ return "'vo' eeee 'o' p"
+ } else {
+ return "'v " + weekday + " o' p"
+ }
+}
+
+function nextWeek(day) {
+ var weekday = accusativeWeekdays[day]
+
+ switch (day) {
+ case 0: /* Sun */
+ case 4: /* Wed */
+ case 6 /* Sat */:
+ return "'budúcu' " + weekday + " 'o' p"
+ default:
+ return "'budúci' eeee 'o' p"
+ }
+}
+
+var formatRelativeLocale = {
+ lastWeek: function(date, baseDate, options) {
+ var day = date.getUTCDay()
+ if (isSameUTCWeek(date, baseDate, options)) {
+ return thisWeek(day)
+ } else {
+ return lastWeek(day)
+ }
+ },
+ yesterday: "'včera o' p",
+ today: "'dnes o' p",
+ tomorrow: "'zajtra o' 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) {
+ var format = formatRelativeLocale[token]
+
+ if (typeof format === 'function') {
+ return format(date, baseDate, options)
+ }
+
+ return format
+}
diff --git a/date-fns/src/locale/sk/_lib/localize/index.js b/date-fns/src/locale/sk/_lib/localize/index.js
new file mode 100644
index 0000000..3fbbe0b
--- /dev/null
+++ b/date-fns/src/locale/sk/_lib/localize/index.js
@@ -0,0 +1,204 @@
+import buildLocalizeFn from '../../../_lib/buildLocalizeFn/index'
+
+// https://www.unicode.org/cldr/charts/32/summary/sk.html#1772
+var eraValues = {
+ narrow: ['pred Kr.', 'po Kr.'],
+ abbreviated: ['pred Kr.', 'po Kr.'],
+ wide: ['pred Kristom', 'po Kristovi']
+}
+
+// https://www.unicode.org/cldr/charts/32/summary/sk.html#1780
+var quarterValues = {
+ narrow: ['1', '2', '3', '4'],
+ abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],
+ wide: ['1. štvrťrok', '2. štvrťrok', '3. štvrťrok', '4. štvrťrok']
+}
+
+// https://www.unicode.org/cldr/charts/32/summary/sk.html#1804
+var monthValues = {
+ narrow: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'],
+ abbreviated: [
+ 'jan',
+ 'feb',
+ 'mar',
+ 'apr',
+ 'máj',
+ 'jún',
+ 'júl',
+ 'aug',
+ 'sep',
+ 'okt',
+ 'nov',
+ 'dec'
+ ],
+ wide: [
+ 'január',
+ 'február',
+ 'marec',
+ 'apríl',
+ 'máj',
+ 'jún',
+ 'júl',
+ 'august',
+ 'september',
+ 'október',
+ 'november',
+ 'december'
+ ]
+}
+var formattingMonthValues = {
+ narrow: ['j', 'f', 'm', 'a', 'm', 'j', 'j', 'a', 's', 'o', 'n', 'd'],
+ abbreviated: [
+ 'jan',
+ 'feb',
+ 'mar',
+ 'apr',
+ 'máj',
+ 'jún',
+ 'júl',
+ 'aug',
+ 'sep',
+ 'okt',
+ 'nov',
+ 'dec'
+ ],
+ wide: [
+ 'januára',
+ 'februára',
+ 'marca',
+ 'apríla',
+ 'mája',
+ 'júna',
+ 'júla',
+ 'augusta',
+ 'septembra',
+ 'októbra',
+ 'novembra',
+ 'decembra'
+ ]
+}
+
+// https://www.unicode.org/cldr/charts/32/summary/sk.html#1876
+var dayValues = {
+ narrow: ['n', 'p', 'u', 's', 'š', 'p', 's'],
+ short: ['ne', 'po', 'ut', 'st', 'št', 'pi', 'so'],
+ abbreviated: ['ne', 'po', 'ut', 'st', 'št', 'pi', 'so'],
+ wide: [
+ 'nedeľa',
+ 'pondelok',
+ 'utorok',
+ 'streda',
+ 'štvrtok',
+ 'piatok',
+ 'sobota'
+ ]
+}
+
+// https://www.unicode.org/cldr/charts/32/summary/sk.html#1932
+var dayPeriodValues = {
+ narrow: {
+ am: 'AM',
+ pm: 'PM',
+ midnight: 'poln.',
+ noon: 'pol.',
+ morning: 'ráno',
+ afternoon: 'pop.',
+ evening: 'več.',
+ night: 'noc'
+ },
+ abbreviated: {
+ am: 'AM',
+ pm: 'PM',
+ midnight: 'poln.',
+ noon: 'pol.',
+ morning: 'ráno',
+ afternoon: 'popol.',
+ evening: 'večer',
+ night: 'noc'
+ },
+ wide: {
+ am: 'AM',
+ pm: 'PM',
+ midnight: 'polnoc',
+ noon: 'poludnie',
+ morning: 'ráno',
+ afternoon: 'popoludnie',
+ evening: 'večer',
+ night: 'noc'
+ }
+}
+var formattingDayPeriodValues = {
+ narrow: {
+ am: 'AM',
+ pm: 'PM',
+ midnight: 'o poln.',
+ noon: 'nap.',
+ morning: 'ráno',
+ afternoon: 'pop.',
+ evening: 'več.',
+ night: 'v n.'
+ },
+ abbreviated: {
+ am: 'AM',
+ pm: 'PM',
+ midnight: 'o poln.',
+ noon: 'napol.',
+ morning: 'ráno',
+ afternoon: 'popol.',
+ evening: 'večer',
+ night: 'v noci'
+ },
+ wide: {
+ am: 'AM',
+ pm: 'PM',
+ midnight: 'o polnoci',
+ noon: 'napoludnie',
+ morning: 'ráno',
+ afternoon: 'popoludní',
+ evening: 'večer',
+ night: 'v noci'
+ }
+}
+
+function ordinalNumber(dirtyNumber, _dirtyOptions) {
+ var number = Number(dirtyNumber)
+ return 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',
+ 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/sk/_lib/match/index.js b/date-fns/src/locale/sk/_lib/match/index.js
new file mode 100644
index 0000000..366c5a4
--- /dev/null
+++ b/date-fns/src/locale/sk/_lib/match/index.js
@@ -0,0 +1,138 @@
+import buildMatchPatternFn from '../../../_lib/buildMatchPatternFn/index'
+import buildMatchFn from '../../../_lib/buildMatchFn/index'
+
+var matchOrdinalNumberPattern = /^(\d+)\.?/i
+var parseOrdinalNumberPattern = /\d+/i
+
+var matchEraPatterns = {
+ narrow: /^(pred Kr\.|pred n\. l\.|po Kr\.|n\. l\.)/i,
+ abbreviated: /^(pred Kr\.|pred n\. l\.|po Kr\.|n\. l\.)/i,
+ wide: /^(pred Kristom|pred na[šs][íi]m letopo[čc]tom|po Kristovi|n[áa][šs]ho letopo[čc]tu)/i
+}
+var parseEraPatterns = {
+ any: [/^pr/i, /^(po|n)/i]
+}
+
+var matchQuarterPatterns = {
+ narrow: /^[1234]/i,
+ abbreviated: /^q[1234]/i,
+ wide: /^[1234]\. [šs]tvr[ťt]rok/i
+}
+var parseQuarterPatterns = {
+ any: [/1/i, /2/i, /3/i, /4/i]
+}
+
+var matchMonthPatterns = {
+ narrow: /^[jfmasond]/i,
+ abbreviated: /^(jan|feb|mar|apr|m[áa]j|j[úu]n|j[úu]l|aug|sep|okt|nov|dec)/i,
+ wide: /^(janu[áa]ra?|febru[áa]ra?|(marec|marca)|apr[íi]la?|m[áa]ja?|j[úu]na?|j[úu]la?|augusta?|(september|septembra)|(okt[óo]ber|okt[óo]bra)|(november|novembra)|(december|decembra))/i
+}
+var parseMonthPatterns = {
+ narrow: [
+ /^j/i,
+ /^f/i,
+ /^m/i,
+ /^a/i,
+ /^m/i,
+ /^j/i,
+ /^j/i,
+ /^a/i,
+ /^s/i,
+ /^o/i,
+ /^n/i,
+ /^d/i
+ ],
+ any: [
+ /^ja/i,
+ /^f/i,
+ /^mar/i,
+ /^ap/i,
+ /^m[áa]j/i,
+ /^j[úu]n/i,
+ /^j[úu]l/i,
+ /^au/i,
+ /^s/i,
+ /^o/i,
+ /^n/i,
+ /^d/i
+ ]
+}
+
+var matchDayPatterns = {
+ narrow: /^[npusšp]/i,
+ short: /^(ne|po|ut|st|št|pi|so)/i,
+ abbreviated: /^(ne|po|ut|st|št|pi|so)/i,
+ wide: /^(nede[ľl]a|pondelok|utorok|streda|[šs]tvrtok|piatok|sobota])/i
+}
+var parseDayPatterns = {
+ narrow: [/^n/i, /^p/i, /^u/i, /^s/i, /^š/i, /^p/i, /^s/i],
+ any: [/^n/i, /^po/i, /^u/i, /^st/i, /^(št|stv)/i, /^pi/i, /^so/i]
+}
+
+var matchDayPeriodPatterns = {
+ narrow: /^(am|pm|(o )?poln\.?|(nap\.?|pol\.?)|r[áa]no|pop\.?|ve[čc]\.?|(v n\.?|noc))/i,
+ abbreviated: /^(am|pm|(o )?poln\.?|(napol\.?|pol\.?)|r[áa]no|pop\.?|ve[čc]er|(v )?noci?)/i,
+ any: /^(am|pm|(o )?polnoci?|(na)?poludnie|r[áa]no|popoludn(ie|í|i)|ve[čc]er|(v )?noci?)/i
+}
+var parseDayPeriodPatterns = {
+ any: {
+ am: /^am/i,
+ pm: /^pm/i,
+ midnight: /poln/i,
+ noon: /^(nap|(na)?pol(\.|u))/i,
+ morning: /^r[áa]no/i,
+ afternoon: /^pop/i,
+ evening: /^ve[čc]/i,
+ night: /^(noc|v n\.)/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