1
0
Fork 0
mirror of synced 2024-09-19 02:39:37 +12:00
budibase/packages/common/node_modules/date-fns/locale/pl/build_distance_in_words_locale/index.js
2020-04-15 15:23:29 +01:00

165 lines
3.4 KiB
JavaScript

function declensionGroup (scheme, count) {
if (count === 1) {
return scheme.one
}
var rem100 = count % 100
// ends with 11-20
if (rem100 <= 20 && rem100 > 10) {
return scheme.other
}
var rem10 = rem100 % 10
// ends with 2, 3, 4
if (rem10 >= 2 && rem10 <= 4) {
return scheme.twoFour
}
return scheme.other
}
function declension (scheme, count, time) {
time = time || 'regular'
var group = declensionGroup(scheme, count)
var finalText = group[time] || group
return finalText.replace('{{count}}', count)
}
function buildDistanceInWordsLocale () {
var distanceInWordsLocale = {
lessThanXSeconds: {
one: {
regular: 'mniej niż sekunda',
past: 'mniej niż sekundę',
future: 'mniej niż sekundę'
},
twoFour: 'mniej niż {{count}} sekundy',
other: 'mniej niż {{count}} sekund'
},
xSeconds: {
one: {
regular: 'sekunda',
past: 'sekundę',
future: 'sekundę'
},
twoFour: '{{count}} sekundy',
other: '{{count}} sekund'
},
halfAMinute: {
one: 'pół minuty',
twoFour: 'pół minuty',
other: 'pół minuty'
},
lessThanXMinutes: {
one: {
regular: 'mniej niż minuta',
past: 'mniej niż minutę',
future: 'mniej niż minutę'
},
twoFour: 'mniej niż {{count}} minuty',
other: 'mniej niż {{count}} minut'
},
xMinutes: {
one: {
regular: 'minuta',
past: 'minutę',
future: 'minutę'
},
twoFour: '{{count}} minuty',
other: '{{count}} minut'
},
aboutXHours: {
one: {
regular: 'około godzina',
past: 'około godziny',
future: 'około godzinę'
},
twoFour: 'około {{count}} godziny',
other: 'około {{count}} godzin'
},
xHours: {
one: {
regular: 'godzina',
past: 'godzinę',
future: 'godzinę'
},
twoFour: '{{count}} godziny',
other: '{{count}} godzin'
},
xDays: {
one: {
regular: 'dzień',
past: 'dzień',
future: '1 dzień'
},
twoFour: '{{count}} dni',
other: '{{count}} dni'
},
aboutXMonths: {
one: 'około miesiąc',
twoFour: 'około {{count}} miesiące',
other: 'około {{count}} miesięcy'
},
xMonths: {
one: 'miesiąc',
twoFour: '{{count}} miesiące',
other: '{{count}} miesięcy'
},
aboutXYears: {
one: 'około rok',
twoFour: 'około {{count}} lata',
other: 'około {{count}} lat'
},
xYears: {
one: 'rok',
twoFour: '{{count}} lata',
other: '{{count}} lat'
},
overXYears: {
one: 'ponad rok',
twoFour: 'ponad {{count}} lata',
other: 'ponad {{count}} lat'
},
almostXYears: {
one: 'prawie rok',
twoFour: 'prawie {{count}} lata',
other: 'prawie {{count}} lat'
}
}
function localize (token, count, options) {
options = options || {}
var scheme = distanceInWordsLocale[token]
if (!options.addSuffix) {
return declension(scheme, count)
}
if (options.comparison > 0) {
return 'za ' + declension(scheme, count, 'future')
} else {
return declension(scheme, count, 'past') + ' temu'
}
}
return {
localize: localize
}
}
module.exports = buildDistanceInWordsLocale