Skip to content

Commit c5ba8a8

Browse files
committed
Merge pull request arrow-py#42 from mattack108/master
Add Polish locales
2 parents 1c355fd + 38a603b commit c5ba8a8

File tree

2 files changed

+51
-4
lines changed

2 files changed

+51
-4
lines changed

arrow/locales.py

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -351,6 +351,7 @@ class ChineseCNLocale(Locale):
351351
day_names = ['', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日']
352352
day_abbreviations = ['', '一', '二', '三', '四', '五', '六', '日']
353353

354+
354355
class ChineseTWLocale(Locale):
355356

356357
names = ['zh_tw']
@@ -415,7 +416,7 @@ class KoreanLocale(Locale):
415416

416417
# derived locale types & implementations.
417418

418-
class BaseRussianLocale(Locale):
419+
class SlavicBaseLocale(Locale):
419420

420421
def _format_timeframe(self, timeframe, delta):
421422

@@ -434,7 +435,40 @@ def _format_timeframe(self, timeframe, delta):
434435
return form.format(delta)
435436

436437

437-
class RussianLocale(BaseRussianLocale):
438+
class PolishLocale(SlavicBaseLocale):
439+
440+
names = ['pl', 'pl_pl']
441+
442+
past = '{0} temu'
443+
future = 'za {0}'
444+
445+
timeframes = {
446+
'now': 'teraz',
447+
'seconds': 'kilka sekund',
448+
'minute': 'minuta',
449+
'minutes': ['{0} minut', '{0} minuty', '{0} minut'],
450+
'hour': 'godzina',
451+
'hours': ['{0} godzin', '{0} godziny', '{0} godzin'],
452+
'day': 'dzień',
453+
'days': ['{0} dzień', '{0} dni', '{0} dni'],
454+
'month': 'miesiąc',
455+
'months': ['{0} miesiąc', '{0} miesiące', '{0} miesięcy'],
456+
'year': 'rok',
457+
'years': ['{0} rok', '{0} lata', '{0} lat'],
458+
}
459+
460+
month_names = ['', 'Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj',
461+
'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik',
462+
'Listopad', 'Grudzień']
463+
month_abbreviations = ['', 'sty', 'lut', 'mar', 'kwi', 'maj', 'cze', 'lip',
464+
'sie', 'wrz', 'paź', 'lis', 'gru']
465+
466+
day_names = ['', 'Poniedziałek', 'Wtorek', 'Środa', 'Czwartek', 'Piątek',
467+
'Sobota', 'Niedziela']
468+
day_abbreviations = ['', 'Pn', 'Wt', 'Śr', 'Czw', 'Pt', 'So', 'Nd']
469+
470+
471+
class RussianLocale(SlavicBaseLocale):
438472

439473
names = ['ru', 'ru_ru']
440474

@@ -466,7 +500,7 @@ class RussianLocale(BaseRussianLocale):
466500
day_abbreviations = ['', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'вс']
467501

468502

469-
class UkrainianLocale(BaseRussianLocale):
503+
class UkrainianLocale(SlavicBaseLocale):
470504

471505
names = ['ua', 'uk_ua']
472506

tests/locales_tests.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ def test_format_relative_future(self):
5656
assertEqual(result, 'an hour ago')
5757

5858

59-
6059
class RussianLocalesTests(Chai):
6160

6261
def test_plurals2(self):
@@ -73,3 +72,17 @@ def test_plurals2(self):
7372
assertEqual(locale._format_timeframe('hours', 25), '25 часов')
7473

7574

75+
class PolishLocalesTests(Chai):
76+
77+
def test_plurals(self):
78+
79+
locale = locales.PolishLocale()
80+
81+
assertEqual(locale._format_timeframe('hours', 0), '0 godzin')
82+
assertEqual(locale._format_timeframe('hours', 1), '1 godzin')
83+
assertEqual(locale._format_timeframe('hours', 2), '2 godziny')
84+
assertEqual(locale._format_timeframe('hours', 4), '4 godziny')
85+
assertEqual(locale._format_timeframe('hours', 5), '5 godzin')
86+
assertEqual(locale._format_timeframe('hours', 21), '21 godzin')
87+
assertEqual(locale._format_timeframe('hours', 22), '22 godziny')
88+
assertEqual(locale._format_timeframe('hours', 25), '25 godzin')

0 commit comments

Comments
 (0)