Skip to content

Commit

Permalink
Update ro locale for v2 (#974)
Browse files Browse the repository at this point in the history
Co-Authored-By: aocneanu <aocneanu@gmail.com>
  • Loading branch information
aocneanu authored and kossnocorp committed Nov 14, 2018
1 parent e58dd1a commit e2ff2ab
Show file tree
Hide file tree
Showing 6 changed files with 767 additions and 83 deletions.
45 changes: 37 additions & 8 deletions src/locale/ro/_lib/formatLong/index.js
@@ -1,12 +1,41 @@
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, d MMMM yyyy',
long: 'd MMMM yyyy',
medium: 'd MMM yyyy',
short: 'dd/MM/yyyy'
}

var timeFormats = {
full: 'HH:mm:ss zzzz',
long: 'HH:mm:ss z',
medium: 'HH:mm:ss',
short: 'HH:mm'
}

var dateTimeFormats = {
full: "{{date}} 'la' {{time}}",
long: "{{date}} 'la' {{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
14 changes: 7 additions & 7 deletions src/locale/ro/_lib/formatRelative/index.js
@@ -1,12 +1,12 @@
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: "eeee 'trecută la' p",
yesterday: "'ieri la' p",
today: "'astăzi la' p",
tomorrow: "'mâine la' p",
nextWeek: "eeee 'viitoare la' p",
other: 'P'
}

export default function formatRelative (token, date, baseDate, options) {
export default function formatRelative(token, date, baseDate, options) {
return formatRelativeLocale[token]
}
131 changes: 113 additions & 18 deletions src/locale/ro/_lib/localize/index.js
@@ -1,21 +1,94 @@
import buildLocalizeFn from '../../../_lib/buildLocalizeFn/index.js'
import buildLocalizeArrayFn from '../../../_lib/buildLocalizeArrayFn/index.js'

var weekdayValues = {
narrow: ['du', 'lu', 'ma', 'mi', 'jo', 'vi', 'sâ'],
short: ['dum', 'lun', 'mar', 'mie', 'joi', 'vin', 'sâm'],
long: ['duminică', 'luni', 'marți', 'miercuri', 'joi', 'vineri', 'sâmbăta']
var eraValues = {
narrow: ['Î', 'D'],
abbreviated: ['Î.d.C.', 'D.C.'],
wide: ['Înainte de Cristos', 'După Cristos']
}

var quarterValues = {
narrow: ['1', '2', '3', '4'],
abbreviated: ['T1', 'T2', 'T3', 'T4'],
wide: ['primul trimestru', 'al doilea trimestru', 'al treilea trimestru', 'al patrulea trimestru']
}

var monthValues = {
short: ['ian', 'feb', 'mar', 'apr', 'mai', 'iun', 'iul', 'aug', 'sep', 'oct', 'noi', 'dec'],
long: ['ianuarie', 'februarie', 'martie', 'aprilie', 'mai', 'iunie', 'iulie', 'august', 'septembrie', 'octombrie', 'noiembrie', 'decembrie']
narrow: ['I', 'F', 'M', 'A', 'M', 'I', 'I', 'A', 'S', 'O', 'N', 'D'],
abbreviated: ['ian', 'feb', 'mar', 'apr', 'mai', 'iun', 'iul', 'aug', 'sep', 'oct', 'noi', 'dec'],
wide: ['ianuarie', 'februarie', 'martie', 'aprilie', 'mai', 'iunie', 'iulie', 'august', 'septembrie', 'octombrie', 'noiembrie', 'decembrie']
}

var dayValues = {
narrow: ['d', 'l', 'm', 'm', 'j', 'v', 's'],
short: ['du', 'lu', 'ma', 'mi', 'jo', 'vi', 'sâ'],
abbreviated: ['dum', 'lun', 'mar', 'mie', 'joi', 'vin', 'sâm'],
wide: ['duminică', 'luni', 'marți', 'miercuri', 'joi', 'vineri', 'sâmbătă']
}

var timeOfDayValues = {
uppercase: ['AM', 'PM'],
lowercase: ['am', 'pm'],
long: ['a.m.', 'p.m.']
var dayPeriodValues = {
narrow: {
am: 'a',
pm: 'p',
midnight: 'mn',
noon: 'ami',
morning: 'dim',
afternoon: 'da',
evening: 's',
night: 'n'
},
abbreviated: {
am: 'AM',
pm: 'PM',
midnight: 'miezul nopții',
noon: 'amiază',
morning: 'dimineață',
afternoon: 'după-amiază',
evening: 'seară',
night: 'noapte'
},
wide: {
am: 'a.m.',
pm: 'p.m.',
midnight: 'miezul nopții',
noon: 'amiază',
morning: 'dimineață',
afternoon: 'după-amiază',
evening: 'seară',
night: 'noapte'
}
}

var formattingDayPeriodValues = {
narrow: {
am: 'a',
pm: 'p',
midnight: 'mn',
noon: 'amiază',
morning: 'dimineață',
afternoon: 'după-amiază',
evening: 'seară',
night: 'noapte'
},
abbreviated: {
am: 'AM',
pm: 'PM',
midnight: 'miezul nopții',
noon: 'amiază',
morning: 'dimineață',
afternoon: 'după-amiază',
evening: 'seară',
night: 'noapte'
},
wide: {
am: 'a.m.',
pm: 'p.m.',
midnight: 'miezul nopții',
noon: 'amiază',
morning: 'dimineață',
afternoon: 'după-amiază',
evening: 'seară',
night: 'noapte'
}
}

function ordinalNumber (dirtyNumber) {
Expand All @@ -25,14 +98,36 @@ 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'
}),
timesOfDay: buildLocalizeArrayFn(timeOfDayValues, 'long')

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',
formattingValues: formattingDayPeriodValues,
defaulFormattingWidth: 'wide'
})
}

export default localize
124 changes: 97 additions & 27 deletions src/locale/ro/_lib/match/index.js
@@ -1,47 +1,117 @@
import buildMatchFn from '../../../_lib/buildMatchFn/index.js'
import buildParseFn from '../../../_lib/buildParseFn/index.js'
import buildMatchPatternFn from '../../../_lib/buildMatchPatternFn/index.js'
import parseDecimal from '../../../_lib/parseDecimal/index.js'
import buildMatchFn from '../../../_lib/buildMatchFn/index.js'

var matchOrdinalNumberPattern = /^(\d+)?/i
var parseOrdinalNumberPattern = /\d+/i

var matchEraPatterns = {
narrow: /^(Î|D)/i,
abbreviated: /^(Î\.?\s?d\.?\s?C\.?|Î\.?\s?e\.?\s?n\.?|D\.?\s?C\.?|e\.?\s?n\.?)/i,
wide: /^(Înainte de Cristos|Înaintea erei noastre|După Cristos|Era noastră)/i
}

var matchOrdinalNumbersPattern = /^(\d+)(th|st|nd|rd)?/i
var parseEraPatterns = {
any: [/^ÎC/i, /^DC/i],
wide: [/^(Înainte de Cristos|Înaintea erei noastre)/i, /^(După Cristos|Era noastră)/i]
}

var matchWeekdaysPatterns = {
narrow: /^(su|mo|tu|we|th|fr|sa)/i,
short: /^(sun|mon|tue|wed|thu|fri|sat)/i,
long: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i
var matchQuarterPatterns = {
narrow: /^[1234]/i,
abbreviated: /^T[1234]/i,
wide: /^trimestrul [1234]/i
}

var parseWeekdayPatterns = {
any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]
var parseQuarterPatterns = {
any: [/1/i, /2/i, /3/i, /4/i]
}

var matchMonthsPatterns = {
short: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,
long: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i
var matchMonthPatterns = {
narrow: /^[ifmaasond]/i,
abbreviated: /^(ian|feb|mar|apr|mai|iun|iul|aug|sep|oct|noi|dec)/i,
wide: /^(ianuarie|februarie|martie|aprilie|mai|iunie|iulie|august|septembrie|octombrie|noiembrie|decembrie)/i
}

var parseMonthPatterns = {
any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]
narrow: [/^i/i, /^f/i, /^m/i, /^a/i, /^m/i, /^i/i, /^i/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],
any: [/^ia/i, /^f/i, /^mar/i, /^ap/i, /^mai/i, /^iun/i, /^iul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]
}

var matchDayPatterns = {
narrow: /^[dlmjvs]/i,
short: /^(d|l|ma|mi|j|v|s)/i,
abbreviated: /^(dum|lun|mar|mie|jo|vi|sâ)/i,
wide: /^(duminica|luni|marţi|miercuri|joi|vineri|sâmbătă)/i
}

var matchTimesOfDayPatterns = {
short: /^(am|pm)/i,
long: /^([ap]\.?\s?m\.?)/i
var parseDayPatterns = {
narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i],
any: [/^d/i, /^l/i, /^ma/i, /^mi/i, /^j/i, /^v/i, /^s/i]
}

var parseTimeOfDayPatterns = {
any: [/^a/i, /^p/i]
var matchDayPeriodPatterns = {
narrow: /^(a|p|mn|a|(dimineaţa|după-amiaza|seara|noaptea))/i,
any: /^([ap]\.?\s?m\.?|miezul nopții|amiaza|(dimineaţa|după-amiaza|seara|noaptea))/i
}

var parseDayPeriodPatterns = {
any: {
am: /^a/i,
pm: /^p/i,
midnight: /^mn/i,
noon: /amiaza/i,
morning: /dimineaţa/i,
afternoon: /după-amiaza/i,
evening: /seara/i,
night: /noaptea/i
}
}

var match = {
ordinalNumbers: buildMatchPatternFn(matchOrdinalNumbersPattern),
ordinalNumber: parseDecimal,
weekdays: buildMatchFn(matchWeekdaysPatterns, 'long'),
weekday: buildParseFn(parseWeekdayPatterns, 'any'),
months: buildMatchFn(matchMonthsPatterns, 'long'),
month: buildParseFn(parseMonthPatterns, 'any'),
timesOfDay: buildMatchFn(matchTimesOfDayPatterns, 'long'),
timeOfDay: buildParseFn(parseTimeOfDayPatterns, 'any')
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

0 comments on commit e2ff2ab

Please sign in to comment.