diff options
Diffstat (limited to 'date-fns/src/locale/nb/_lib')
-rw-r--r-- | date-fns/src/locale/nb/_lib/formatDistance/index.js | 127 | ||||
-rw-r--r-- | date-fns/src/locale/nb/_lib/formatLong/index.js | 41 | ||||
-rw-r--r-- | date-fns/src/locale/nb/_lib/formatRelative/index.js | 12 | ||||
-rw-r--r-- | date-fns/src/locale/nb/_lib/localize/index.js | 124 | ||||
-rw-r--r-- | date-fns/src/locale/nb/_lib/match/index.js | 136 |
5 files changed, 440 insertions, 0 deletions
diff --git a/date-fns/src/locale/nb/_lib/formatDistance/index.js b/date-fns/src/locale/nb/_lib/formatDistance/index.js new file mode 100644 index 0000000..79ef4f9 --- /dev/null +++ b/date-fns/src/locale/nb/_lib/formatDistance/index.js @@ -0,0 +1,127 @@ +var formatDistanceLocale = { + lessThanXSeconds: { + singular: 'mindre enn ett sekund', + plural: 'mindre enn {{count}} sekunder' + }, + + xSeconds: { + singular: 'ett sekund', + plural: '{{count}} sekunder' + }, + + halfAMinute: 'et halvt minutt', + + lessThanXMinutes: { + singular: 'mindre enn ett minutt', + plural: 'mindre enn {{count}} minutter' + }, + + xMinutes: { + singular: 'ett minutt', + plural: '{{count}} minutter' + }, + + aboutXHours: { + singular: 'omtrent en time', + plural: 'omtrent {{count}} timer' + }, + + xHours: { + singular: 'en time', + plural: '{{count}} timer' + }, + + xDays: { + singular: 'en dag', + plural: '{{count}} dager' + }, + + aboutXWeeks: { + singular: 'omtrent en uke', + plural: 'omtrent {{count}} uker' + }, + + xWeeks: { + singular: 'en uke', + plural: '{{count}} uker' + }, + + aboutXMonths: { + singular: 'omtrent en måned', + plural: 'omtrent {{count}} måneder' + }, + + xMonths: { + singular: 'en måned', + plural: '{{count}} måneder' + }, + + aboutXYears: { + singular: 'omtrent ett år', + plural: 'omtrent {{count}} år' + }, + + xYears: { + singular: 'ett år', + plural: '{{count}} år' + }, + + overXYears: { + singular: 'over ett år', + plural: 'over {{count}} år' + }, + + almostXYears: { + singular: 'nesten ett år', + plural: 'nesten {{count}} år' + } +} + +var wordMapping = [ + 'null', + 'en', + 'to', + 'tre', + 'fire', + 'fem', + 'seks', + 'sju', + 'åtte', + 'ni', + 'ti', + 'elleve', + 'tolv' +] + +export default function formatDistance(token, count, options) { + options = options || { + onlyNumeric: false + } + + var translation = formatDistanceLocale[token] + var result + if (typeof translation === 'string') { + result = translation + } else if (count === 0 || count > 1) { + if (options.onlyNumeric) { + result = translation.plural.replace('{{count}}', count) + } else { + result = translation.plural.replace( + '{{count}}', + count < 13 ? wordMapping[count] : count + ) + } + } else { + result = translation.singular + } + + if (options.addSuffix) { + if (options.comparison > 0) { + return 'om ' + result + } else { + return result + ' siden' + } + } + + return result +} diff --git a/date-fns/src/locale/nb/_lib/formatLong/index.js b/date-fns/src/locale/nb/_lib/formatLong/index.js new file mode 100644 index 0000000..067f59e --- /dev/null +++ b/date-fns/src/locale/nb/_lib/formatLong/index.js @@ -0,0 +1,41 @@ +import buildFormatLongFn from '../../../_lib/buildFormatLongFn/index' + +var dateFormats = { + full: 'EEEE d. MMMM y', + long: 'd. MMMM y', + medium: 'd. MMM y', + short: 'dd.MM.y' +} + +var timeFormats = { + full: "'kl'. HH:mm:ss zzzz", + long: 'HH:mm:ss z', + medium: 'HH:mm:ss', + short: 'HH:mm' +} + +var dateTimeFormats = { + full: "{{date}} 'kl.' {{time}}", + long: "{{date}} 'kl.' {{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/nb/_lib/formatRelative/index.js b/date-fns/src/locale/nb/_lib/formatRelative/index.js new file mode 100644 index 0000000..3884132 --- /dev/null +++ b/date-fns/src/locale/nb/_lib/formatRelative/index.js @@ -0,0 +1,12 @@ +var formatRelativeLocale = { + lastWeek: "'forrige' eeee 'kl.' p", + yesterday: "'i går kl.' p", + today: "'i dag kl.' p", + tomorrow: "'i morgen kl.' p", + nextWeek: "EEEE 'kl.' p", + other: 'P' +} + +export default function formatRelative(token, _date, _baseDate, _options) { + return formatRelativeLocale[token] +} diff --git a/date-fns/src/locale/nb/_lib/localize/index.js b/date-fns/src/locale/nb/_lib/localize/index.js new file mode 100644 index 0000000..075f868 --- /dev/null +++ b/date-fns/src/locale/nb/_lib/localize/index.js @@ -0,0 +1,124 @@ +import buildLocalizeFn from '../../../_lib/buildLocalizeFn/index' + +var eraValues = { + narrow: ['f.Kr.', 'e.Kr.'], + abbreviated: ['f.Kr.', 'e.Kr.'], + wide: ['før Kristus', 'etter Kristus'] +} + +var quarterValues = { + narrow: ['1', '2', '3', '4'], + abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'], + wide: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal'] +} + +var monthValues = { + narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'], + abbreviated: [ + 'jan.', + 'feb.', + 'mars', + 'apr.', + 'mai', + 'juni', + 'juli', + 'aug.', + 'sep.', + 'okt.', + 'nov.', + 'des.' + ], + wide: [ + 'januar', + 'februar', + 'mars', + 'april', + 'mai', + 'juni', + 'juli', + 'august', + 'september', + 'oktober', + 'november', + 'desember' + ] +} + +var dayValues = { + narrow: ['S', 'M', 'T', 'O', 'T', 'F', 'L'], + short: ['sø', 'ma', 'ti', 'on', 'to', 'fr', 'lø'], + abbreviated: ['søn', 'man', 'tir', 'ons', 'tor', 'fre', 'lør'], + wide: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag'] +} + +var dayPeriodValues = { + narrow: { + am: 'a', + pm: 'p', + midnight: 'midnatt', + noon: 'middag', + morning: 'på morg.', + afternoon: 'på etterm.', + evening: 'på kvelden', + night: 'på natten' + }, + abbreviated: { + am: 'a.m.', + pm: 'p.m.', + midnight: 'midnatt', + noon: 'middag', + morning: 'på morg.', + afternoon: 'på etterm.', + evening: 'på kvelden', + night: 'på natten' + }, + wide: { + am: 'a.m.', + pm: 'p.m.', + midnight: 'midnatt', + noon: 'middag', + morning: 'på morgenen', + afternoon: 'på ettermiddagen', + evening: 'på kvelden', + night: 'på natten' + } +} + +function ordinalNumber(dirtyNumber) { + 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' + }), + + day: buildLocalizeFn({ + values: dayValues, + defaultWidth: 'wide' + }), + + dayPeriod: buildLocalizeFn({ + values: dayPeriodValues, + defaultWidth: 'wide' + }) +} + +export default localize diff --git a/date-fns/src/locale/nb/_lib/match/index.js b/date-fns/src/locale/nb/_lib/match/index.js new file mode 100644 index 0000000..d0c00da --- /dev/null +++ b/date-fns/src/locale/nb/_lib/match/index.js @@ -0,0 +1,136 @@ +import buildMatchPatternFn from '../../../_lib/buildMatchPatternFn/index' +import buildMatchFn from '../../../_lib/buildMatchFn/index' + +var matchOrdinalNumberPattern = /^(\d+)\.?/i +var parseOrdinalNumberPattern = /\d+/i + +var matchEraPatterns = { + narrow: /^(f\.? ?Kr\.?|fvt\.?|e\.? ?Kr\.?|evt\.?)/i, + abbreviated: /^(f\.? ?Kr\.?|fvt\.?|e\.? ?Kr\.?|evt\.?)/i, + wide: /^(før Kristus|før vår tid|etter Kristus|vår tid)/i +} +var parseEraPatterns = { + any: [/^f/i, /^e/i] +} + +var matchQuarterPatterns = { + narrow: /^[1234]/i, + abbreviated: /^q[1234]/i, + wide: /^[1234](\.)? kvartal/i +} +var parseQuarterPatterns = { + any: [/1/i, /2/i, /3/i, /4/i] +} + +var matchMonthPatterns = { + narrow: /^[jfmasond]/i, + abbreviated: /^(jan|feb|mars?|apr|mai|juni?|juli?|aug|sep|okt|nov|des)\.?/i, + wide: /^(januar|februar|mars|april|mai|juni|juli|august|september|oktober|november|desember)/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, + /^mai/i, + /^jun/i, + /^jul/i, + /^aug/i, + /^s/i, + /^o/i, + /^n/i, + /^d/i + ] +} + +var matchDayPatterns = { + narrow: /^[smtofl]/i, + short: /^(sø|ma|ti|on|to|fr|lø)/i, + abbreviated: /^(søn|man|tir|ons|tor|fre|lør)/i, + wide: /^(søndag|mandag|tirsdag|onsdag|torsdag|fredag|lørdag)/i +} +var parseDayPatterns = { + any: [/^s/i, /^m/i, /^ti/i, /^o/i, /^to/i, /^f/i, /^l/i] +} + +var matchDayPeriodPatterns = { + narrow: /^(midnatt|middag|(på) (morgenen|ettermiddagen|kvelden|natten)|[ap])/i, + any: /^([ap]\.?\s?m\.?|midnatt|middag|(på) (morgenen|ettermiddagen|kvelden|natten))/i +} +var parseDayPeriodPatterns = { + any: { + am: /^a(\.?\s?m\.?)?$/i, + pm: /^p(\.?\s?m\.?)?$/i, + midnight: /^midn/i, + noon: /^midd/i, + morning: /morgen/i, + afternoon: /ettermiddag/i, + evening: /kveld/i, + night: /natt/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 |