Skip to content

Commit c87c768

Browse files
author
Sye van der Veen
authored
Merge pull request arrow-py#518 from zcribe/patch-1
Added Estonian localisation
2 parents b95077b + 73ce2aa commit c87c768

2 files changed

Lines changed: 88 additions & 1 deletion

File tree

arrow/locales.py

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2157,5 +2157,43 @@ class NepaliLocale(Locale):
21572157
'', 'सोम', 'मंगल', 'बुध', 'बिहि', 'शुक्र', 'शनि', 'आइत'
21582158
]
21592159

2160-
2160+
class EstonianLocale(Locale):
2161+
names = ['ee', 'et']
2162+
2163+
past = '{0} tagasi'
2164+
future = '{0} pärast'
2165+
2166+
timeframes = {
2167+
'now': {'past': 'just nüüd', 'future': 'just nüüd'},
2168+
'second': {'past': 'üks sekund', 'future': 'ühe sekundi'},
2169+
'seconds': {'past': '{0} sekundit', 'future': '{0} sekundi'},
2170+
'minute': {'past': 'üks minut', 'future': 'ühe minuti'},
2171+
'minutes': {'past': '{0} minutit', 'future': '{0} minuti'},
2172+
'hour': {'past': 'tund aega', 'future': 'tunni aja'},
2173+
'hours': {'past': '{0} tundi', 'future': '{0} tunni'},
2174+
'day': {'past': 'üks päev', 'future': 'ühe päeva'},
2175+
'days': {'past': '{0} päeva', 'future': '{0} päeva'},
2176+
'month': {'past': 'üks kuu', 'future': 'ühe kuu'},
2177+
'months': {'past': '{0} kuud', 'future': '{0} kuu'},
2178+
'year': {'past': 'üks aasta', 'future': 'ühe aasta'},
2179+
'years': {'past': '{0} aastat', 'future': '{0} aasta'}
2180+
}
2181+
2182+
month_names = ['', 'Jaanuar', 'Veebruar', 'Märts', 'Aprill', 'Mai', 'Juuni', 'Juuli',
2183+
'August', 'September', 'Oktoober', 'November', 'Detsember']
2184+
month_abbreviations = ['', 'Jan', 'Veb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug',
2185+
'Sep', 'Okt', 'Nov', 'Dets']
2186+
2187+
day_names = ['', 'Esmaspäev', 'Teisipäev', 'Kolmapäev', 'Neljapäev', 'Reede', 'Laupäev', 'Pühapäev']
2188+
day_abbreviations = ['', 'Esm', 'Teis', 'Kolm', 'Nelj', 'Re', 'Lau', 'Püh']
2189+
2190+
def _format_timeframe(self, timeframe, delta):
2191+
form = self.timeframes[timeframe]
2192+
if delta > 0:
2193+
form = form['future']
2194+
else:
2195+
form = form['past']
2196+
return form.format(abs(delta))
2197+
2198+
21612199
_locales = _map_locales()

tests/locales_tests.py

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -685,3 +685,52 @@ def test_ordinal_number(self):
685685
assertEqual(self.locale.ordinal_number(100), 'ika-100')
686686
assertEqual(self.locale.ordinal_number(103), 'ika-103')
687687
assertEqual(self.locale.ordinal_number(114), 'ika-114')
688+
689+
690+
class EstonianLocaleTests(Chai):
691+
692+
def setUp(self):
693+
super(EstonianLocaleTests, self).setUp()
694+
695+
self.locale = locales.EstonianLocale()
696+
697+
def test_format_timeframe(self):
698+
assertEqual(self.locale._format_timeframe('now', 0), 'just nüüd')
699+
assertEqual(self.locale._format_timeframe('second', 1), 'ühe sekundi')
700+
assertEqual(self.locale._format_timeframe('seconds', 3), '3 sekundi')
701+
assertEqual(self.locale._format_timeframe('seconds', 30), '30 sekundi')
702+
assertEqual(self.locale._format_timeframe('minute', 1), 'ühe minuti')
703+
assertEqual(self.locale._format_timeframe('minutes', 4), '4 minuti')
704+
assertEqual(self.locale._format_timeframe('minutes', 40), '40 minuti')
705+
assertEqual(self.locale._format_timeframe('hour', 1), 'tunni aja')
706+
assertEqual(self.locale._format_timeframe('hours', 5), '5 tunni')
707+
assertEqual(self.locale._format_timeframe('hours', 23), '23 tunni')
708+
assertEqual(self.locale._format_timeframe('day', 1), 'ühe päeva')
709+
assertEqual(self.locale._format_timeframe('days', 6), '6 päeva')
710+
assertEqual(self.locale._format_timeframe('days', 12), '12 päeva')
711+
assertEqual(self.locale._format_timeframe('month', 1), 'ühe kuu')
712+
assertEqual(self.locale._format_timeframe('months', 7), '7 kuu')
713+
assertEqual(self.locale._format_timeframe('months', 11), '11 kuu')
714+
assertEqual(self.locale._format_timeframe('year', 1), 'ühe aasta')
715+
assertEqual(self.locale._format_timeframe('years', 8), '8 aasta')
716+
assertEqual(self.locale._format_timeframe('years', 12), '12 aasta')
717+
718+
assertEqual(self.locale._format_timeframe('now', 0), 'just nüüd')
719+
assertEqual(self.locale._format_timeframe('second', -1), 'üks sekund')
720+
assertEqual(self.locale._format_timeframe('seconds', -9), '9 sekundit')
721+
assertEqual(self.locale._format_timeframe('seconds', -12), '12 sekundit')
722+
assertEqual(self.locale._format_timeframe('minute', -1), 'üks minut')
723+
assertEqual(self.locale._format_timeframe('minutes', -2), '2 minutit')
724+
assertEqual(self.locale._format_timeframe('minutes', -10), '10 minutit')
725+
assertEqual(self.locale._format_timeframe('hour', -1), 'tund aega')
726+
assertEqual(self.locale._format_timeframe('hours', -3), '3 tundi')
727+
assertEqual(self.locale._format_timeframe('hours', -11), '11 tundi')
728+
assertEqual(self.locale._format_timeframe('day', -1), 'üks päev')
729+
assertEqual(self.locale._format_timeframe('days', -2), '2 päeva')
730+
assertEqual(self.locale._format_timeframe('days', -12), '12 päeva')
731+
assertEqual(self.locale._format_timeframe('month', -1), 'üks kuu')
732+
assertEqual(self.locale._format_timeframe('months', -3), '3 kuud')
733+
assertEqual(self.locale._format_timeframe('months', -13), '13 kuud')
734+
assertEqual(self.locale._format_timeframe('year', -1), 'üks aasta')
735+
assertEqual(self.locale._format_timeframe('years', -4), '4 aastat')
736+
assertEqual(self.locale._format_timeframe('years', -14), '14 aastat')

0 commit comments

Comments
 (0)